【发布时间】:2019-09-05 01:44:41
【问题描述】:
我是 Cmake 新手,在链接外部库 (libtiff) 时遇到问题。我已经安装了 libtiff,它在我的 /usr/local/include 中。然后我在我的 Cmake 中使用了include_directories() 和target_linked_libraries()。但是,它仍然给了我
ld: library not found for -ltiff
main.c:
#include <stdio.h>
#include "tiffio.h"
int main() {
printf("Hello, World!\n");
return 0;
}
cmake 文件:
cmake_minimum_required(VERSION 3.13)
project(test2 C)
set(CMAKE_C_STANDARD 99)
include_directories(/usr/local/include)
add_executable(test2 main.c)
target_link_libraries(test2 tiff)
如果您能提供帮助,我将不胜感激!提前致谢!
【问题讨论】:
-
使用
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<new_lib_directory> -
应该
是 usr/local/include 还是 usr/local/lib?我在哪里添加它?谢谢! @MiguelÁngelRetamozoSanchez。 -
使用
find_library“找到”它。 CMake 在使用库时添加正确的标志,以便它可以链接并在运行时使用(对于动态库)。 -
请注意,使用
LD_LIBRARY_PATH是not always recommended。