如何在 CMake 中创建静态库(不可执行)?
How to create a static library (not executable) in CMake?
我是 cmake 的新手,我想知道如何创建静态库。在 gcc 中,可以通过以下方式完成:
ar rsv
嗯,你是如何使用 CMake 来做的?
add_library(mylib STATIC file1.cpp file2.cpp)
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib)
这会生成一个静态库(.a 文件),但是如何在不添加可执行文件的情况下编译它?
如果我删除 add_executable(myexe main.cpp),它会给我一个错误。我只想要这个文件:
mylib.a
而不是
myexe.exe
mylib.a
我的错,我只需要删除:
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib)
这会起作用。
add_library
可以单独使用,根本不用add_executable
。只需删除第 2 行即可删除可执行文件。该错误很可能是由第 3 行引起的,它需要 myexe
才能运行。第 3 行也应该删除,因为您只是构建库而不是链接它。
我是 cmake 的新手,我想知道如何创建静态库。在 gcc 中,可以通过以下方式完成:
ar rsv
嗯,你是如何使用 CMake 来做的?
add_library(mylib STATIC file1.cpp file2.cpp)
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib)
这会生成一个静态库(.a 文件),但是如何在不添加可执行文件的情况下编译它? 如果我删除 add_executable(myexe main.cpp),它会给我一个错误。我只想要这个文件:
mylib.a
而不是
myexe.exe
mylib.a
我的错,我只需要删除:
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib)
这会起作用。
add_library
可以单独使用,根本不用add_executable
。只需删除第 2 行即可删除可执行文件。该错误很可能是由第 3 行引起的,它需要 myexe
才能运行。第 3 行也应该删除,因为您只是构建库而不是链接它。