我有一个由配置的项目CMake。它有一个程序和一些共享库。
target_link_libraries语句)。LoadLibraryWin32 API 加载。我们使用Visual Studio 2015作为CMake目标编译器。但是从此IDE,当我在修改一些代码后启动程序(按F5键)时,只会编译该程序和链接的共享库。在运行时加载的“插件”未编译,因此代码与二进制文件不匹配。
有没有一种添加“构建依赖项”的方法,即如果在执行程序之前过时了某些库,即使最后一个库没有链接它们,也应该对其进行编译?
正是为此目的提供了一个CMake命令:add_dependencies。它应该做您想要的。例:
add_executable(mainTarget SomeSource.cpp)
add_library(linkedLib SomeOtherSource.cpp)
add_library(libToBeLoaded MODULE MoreSource.cpp)
target_link_libraries(mainTarget PRIVATE linkedLib)
# This is it:
add_dependencies(mainTarget libToBeLoaded)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |