【发布时间】:2015-02-06 01:37:13
【问题描述】:
我正在使用 cmake 在 Ubuntu 中构建一个名为 alpha 的 C++ 库,其中包含一个源文件:
cmake_minimum_required(VERSION 2.8)
project(Alpha)
add_library (alpha alpha.cpp)
这将创建一个名为libalpha.a 的文件,我现在要链接到该文件。因此,我将其复制到另一个名为beta 的 C++ 项目的源目录中,其中也包含一个源文件:
cmake_minimum_required(VERSION 2.8)
project(Beta)
add_executable(beta beta.cpp)
target_link_libraries(beta alpha)
但是,我收到以下错误:
/usr/bin/ld: cannot find -lalpha
如果我使用这条线,也会发生同样的事情:
target_link_libraries(beta libalpha.a)
为什么beta 找不到alpha 库?
【问题讨论】:
-
您可能需要添加
link_directories(the_directory_where_you_put_the_library)。 -
但是库已经复制到
beta.cpp的同一目录下... -
你试过
target_link_libraries(beta ./libalpha.a)吗? -
是的,这给了我错误:
/usr/bin/ld: cannot find -l./libalpha.a -
可以加一行:
link_directories(${Beta_SOURCE_DIR})?