Nic*_*ick 10 cmake visual-c++ pdb-files
我正在使用对象库构建我的静态库,如使用CMake 3.1.3所示.
我有
ADD_SUBDIRECTORY(A)
ADD_SUBDIRECTORY(B)
....
ADD_LIBRARY(mylib STATIC ${SOURCES}
$<TARGET_OBJECTS:A>
$<TARGET_OBJECTS:B> )
SET_TARGET_PROPERTIES(mylib PROPERTIES COMPILE_PDB_NAME mylib COMPILE_PDB_OUTPUT_DIR ${CMAKE_BINARY_DIR})
Run Code Online (Sandbox Code Playgroud)
现在,我的问题是A在A的CMake子目录中生成vc120.pdb.B在B的CMake子目录中生成自己的vc120.pdb.并且,mylib在主二进制cmake文件夹中生成mylib.pdb.
我只想要一个静态库和一个pdb文件.我只想要mylib和mylib.pdb.
如何将所有vc120.pdbs合并到mylib.pdb中,或者理想情况下只生成一个pdb文件?
我已经成功联系了 Kitware(CMake 所有者)的人员。
他们说过,
“将 A、B 和 mylib 的 COMPILE_PDB_* 属性全部设置为指向同一个位置。对象库是独立构建的,不知道什么会消耗它们(或者如果多个目标消耗它们),因此需要单独配置它们”。
所以,在 A 和 B 里面,做
add_library(A OBJECT a.c)
set_target_properties(A PROPERTIES
COMPILE_PDB_NAME "mylib"
COMPILE_PDB_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |