C++ 使用cmake在编译期间替换对象文件
第一个问题是: 如何在编译后但在创建静态库之前替换对象文件 现在解释一下 假设我有两个项目,它们使用相同的名称编译相同的对象文件,但其中一个对象包含了用于测试目的的附加(伪)功能:C++ 使用cmake在编译期间替换对象文件,c++,cmake,C++,Cmake,第一个问题是: 如何在编译后但在创建静态库之前替换对象文件 现在解释一下 假设我有两个项目,它们使用相同的名称编译相同的对象文件,但其中一个对象包含了用于测试目的的附加(伪)功能: Proj_A compile -> A_OBJECT.o (fake functionality) Proj_B compile -> A_OBJECT.o (original) 在编译过程中,首先编译项目A,最后编译项目B 现在,我想将文件从Proj_A复制/替换到Proj_B,以
Proj_A
compile -> A_OBJECT.o (fake functionality)
Proj_B
compile -> A_OBJECT.o (original)
在编译过程中,首先编译项目A,最后编译项目B
现在,我想将文件从Proj_A复制/替换到Proj_B,以构建静态库,该库将用于测试“假”功能
我尝试使用不同的命令,如file()、configure_file()、add_custom_command(),但没有成功
感谢您在advanced中提供的任何帮助/提示
最好的,
Martinfile(),configure_file()将在配置时执行,因此不起作用。你能举一个例子说明你用add_custom_command()做了什么吗?它可能通过正确的参数ADD_自定义_命令(TARGET Proj_B PRE_LINK WORKING_DIRECTORY${CMAKE_BINARY_DIR}/Proj_A/CMakeFiles/Proj_A.DIR/source/command cp A_OBJECT.cpp.o“${CMAKE_BINARY_DIR}/Proj_B/CMakeFiles/Proj_B.DIR/source”)可以使用生成器表达式,$,并用add_库(ProjectB${SOURCES}$)声明项目B。您需要将项目A声明为对象库。