相关疑难解决方法(0)

如何在linux中设置环境变量LD_LIBRARY_PATH

我先执行了命令: export LD_LIBRARY_PATH=/usr/local/lib

然后我打开了.bash_profile文件:vi ~/.bash_profile.在这个文件中,我把:

LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

然后,如果终端关闭并重新启动,则键入不echo $LD_LIBRARY_PATH显示结果.

如何永久设置路径?

linux environment-variables

183
推荐指数
9
解决办法
77万
查看次数

在cmake命令行上指定include目录

是否可以在运行时指定包含目录cmake.例如

cmake . -INCLUDE=/foo/bar
Run Code Online (Sandbox Code Playgroud)

头文件与我想要编译的源代码位于一个单独的目录中,我想在不修改Makefile生成的情况下解决这个问题cmake.

更新

该项目确实有一个CMakeLists.txt.摘抄:

INCLUDE_DIRECTORIES(${EO_SOURCE_DIR}/src)
INCLUDE_DIRECTORIES(${EO_SOURCE_DIR}/src/ga)
INCLUDE_DIRECTORIES(${EO_SOURCE_DIR}/src/utils)
Run Code Online (Sandbox Code Playgroud)

可以${EO_SOURCE_DIR}从命令行设置吗?

cmake include command-line-arguments

26
推荐指数
2
解决办法
4万
查看次数

链接到共享库的Cmake无法找到库

在Ubuntu上,我有两个目录:buildsrc.在src,我的CMakeLists.txt文件有行:

add_executable(Test main.cpp)

target_link_libraries(Test libCamera.so)
Run Code Online (Sandbox Code Playgroud)

在构建目录(cmake ../src)中运行cmake后,我将库文件复制libCamera.so到构建目录中.运行make后,main.cpp.o文件编译成功,但在链接期间收到以下错误:

/usr/bin/ld: cannot find -lCamera
Run Code Online (Sandbox Code Playgroud)

为什么是这样?共享库与我正在构建的目录相同...如果我将库复制到/usr/bin... 则会发生同样的事情

c++ makefile cmake

6
推荐指数
1
解决办法
1万
查看次数

链接库与cmake

bcm2835在我的电脑上安装了这个库.要在c中编译程序,我必须输入:

gcc -o my_program my_program.c -l rt -l bcm2835 
Run Code Online (Sandbox Code Playgroud)

现在我必须编译另一个使用相同库的程序cmake.我从来没有用过这个.我必须在"cmakelists.txt"的底部添加什么?

我试过了:

TARGET_LINK_LIBRARIES(my_program rt)  
TARGET_LINK_LIBRARIES(my_program bcm2835)
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

cmake

1
推荐指数
1
解决办法
1521
查看次数