复制目录下的所有文件,很容易就想到“cp * des”这样的指令,于是在cmake中就有了如下的语句: execute_process(COMMAND cp ${NSF_HOME}/lib/* ${LIB})然后在运行的时候发现报错了,因为execute_process(COMMAND ...)这样的语句,里面的shell指令不支持通配符,使用*会被认为寻找一个文件名叫“*”的文件。所以上面的做法是错误的正确的做法如下:file(GLOB allCopyFiles "${NSF_HOME}/lib/*")file(COPY ${allCopyFiles} DESTINATION ${LIB})或者:file(GLOB allCopyFiles "${NSF_HOME}/lib/*")execute_process(COMMAND cp ${allCopyFiles} ${LIB})两种做法都是用file命名找出所有需要复制的文件
博客摘录「 cmake复制目录下的所有文件」2023年4月5日
最新推荐文章于 2024-04-15 18:16:21 发布