相关疑难解决方法(0)

如何告诉CMake链接到源目录中的静态库?

我有一个带有Makefile的小项目,我试图转换为CMake,主要是为了获得CMake的经验.出于此示例的目的,项目包含一个源文件(C++,虽然我认为该语言不是特别相关)和一个我从其他地方复制过的静态库文件.为了论证,假设库的源代码不可用; 我只有.a文件和相应的标题.

我手工制作的Makefile包含以下构建规则:

main: main.o libbingitup.a
    g++ -o main main.o libbingitup.a
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.我如何告诉CMake重现这个?当然,这不是字面上的精确makefile,而是包含等效链接命令的东西.我尝试过明显但天真的方式,比如

add_executable(main main.cpp libbingitup.a)
Run Code Online (Sandbox Code Playgroud)

要么

add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
Run Code Online (Sandbox Code Playgroud)

以及与各种事物link_directories(.)add_library(bingitup STATIC IMPORTED)等,但没有到目前为止,结果在一个成功的连锁.我该怎么办?


版本详细信息:Linux(Kubuntu 12.04)上的CMake 2.8.7和GCC 4.6.3

cmake static-libraries

74
推荐指数
3
解决办法
15万
查看次数

标签 统计

cmake ×1

static-libraries ×1