1

如何告诉 CMake 静态链接一些库和动态链接其他库?

我想编译一个静态链接到所有依赖库的 C++ exe,除了 glic

谢谢

4

1 回答 1

1

库的 CMake 方法是首先找到它们,find_library然后使用target_link_libraries.

find_library在调用期间选择使用静态库还是动态库:

  • 如果您不介意使用哪个版本,请致电find_library(MYLIB mylib)

  • 如果您想要一个静态库,请使用find_library(MYLIB libmylib.a)(对于 linux,您将在 windows 上搜索 .lib 等)

  • 如果你想要一个动态库,使用find_library(MYLIB libmylib.so)

然后测试是否找到了您的库if (MYLIB)并将其链接到您的目标:target_link_libraries(mytarget ${MYLIB})

于 2013-06-18T22:37:34.500 回答