Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 设置C++;使用CMake的对象文件输出位置_C++_Cmake - Fatal编程技术网

C++ 设置C++;使用CMake的对象文件输出位置

C++ 设置C++;使用CMake的对象文件输出位置,c++,cmake,C++,Cmake,我希望将CMake用于项目,但我有以下两个要求: 项目的最终输出应该是一组对象文件(*.o) 对象文件的位置很重要。我想选择输出文件的目录 CMake支持这种行为吗?如果是,怎么做?在生成对象文件后,我可以使用move命令吗 首先创建一个 现在的问题是: 无法导入、导出、安装或链接对象库。 我会试着用这个 使用选项: DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} #Probably you have to check more precisely where

我希望将CMake用于项目,但我有以下两个要求:

  • 项目的最终输出应该是一组对象文件(*.o)
  • 对象文件的位置很重要。我想选择输出文件的目录
  • CMake支持这种行为吗?如果是,怎么做?在生成对象文件后,我可以使用move命令吗

    首先创建一个

    现在的问题是:

    无法导入、导出、安装或链接对象库。

    我会试着用这个

    使用选项:

    DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}   #Probably you have to check more precisely where the object files are built
    
    DESTINATION    #it's something relative to DESTDIR, if set, or CMAKE_INSTALL_PREFIX otherwise
    
    FILES_MATCHING
    
    PATTERN "*.o"
    

    此解决方案的一个缺陷是输出目录名,这基本上由cmake决定,我想知道在这方面是否可以做些什么。

    您的源目录树是否在多个目录上拆分?或者所有源文件都在目录中?所有源文件都在一个目录中。目标文件需要转到一个特殊的目录,以便以后由一个专有的商业软件包使用。这是一个CMake非常不适合的情况。如果必须使用cmake,我会在之后运行bash或python脚本,在构建树中搜索要查找的.o文件,然后将它们打包。