如何创建一个lib文件夹并在其中包含lib.so? 这是 lib 文件夹中我的 cmakelists 文件
project(Library)
add_library(Library SHARED lib.cpp)
target_include_directories(Library PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
在主 cmakelists 文件中我写:
target_link_libraries(MyProject Library)
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
但它不起作用。该文件是在运行 make 的文件夹内创建的。
LIBRARY_OUTPUT_DIRECTORY是一个目标属性,而不是您设置的变量。而不是
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
你需要使用
set_target_properties(Library
PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/lib"
)
但是,如果您希望将项目构建的所有库放入该文件夹中,您也可以使用
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/lib")
位于顶级 CMakeLists.txt 顶部的某个位置,因为此变量为设置后定义的所有目标设置
LIBRARY_OUTPUT_DIRECTORY
目标属性的默认值。