草庐IT

cmake_link_libraries

全部标签

linux - Makefile 和符号链接(symbolic link)

我遇到了一个关于makefile的奇怪问题。我只是想在makefile中设置一个符号链接(symboliclink),但在一台机器上收到一条错误消息(Linux2.6.18-238.12.1.el5)make:execvp:ln:Toomanylevelsofsymboliclinks它在我的MacBook上运行得非常好。如果我在shell中执行相同的命令,它也能正常工作。会出什么问题?是否有任何对ln重要的环境变量? 最佳答案 我认为错误消息中的execvp是关键。我相信它是说在尝试定位ln命令本身时有太多级别的符号链接(symb

linux - 使用共享对象和符号链接(symbolic link)构建安装包

我正在做一个项目,我们正在开始发布二进制文件。我们使用CMake生成构建文件,使用CPack创建二进制文件。我们的二进制文件工作,但我们遇到了共享对象的问题。从本质上讲,许多问题都是由系统上的符号链接(symboliclink)引起的,尤其是具有多个链接的共享对象。因此,假设某些可执行文件的ldd(或otool)的RPATH结果包括libmpich.so.10并且我已经从cmake链接了/usr/lib/x86_64-linux-gnu/libmpich.so并且这些文件是这样相关的:/usr/lib/x86_64-linux-gnu/libmpich.so->libmpich.so.

linux - 使用共享对象和符号链接(symbolic link)构建安装包

我正在做一个项目,我们正在开始发布二进制文件。我们使用CMake生成构建文件,使用CPack创建二进制文件。我们的二进制文件工作,但我们遇到了共享对象的问题。从本质上讲,许多问题都是由系统上的符号链接(symboliclink)引起的,尤其是具有多个链接的共享对象。因此,假设某些可执行文件的ldd(或otool)的RPATH结果包括libmpich.so.10并且我已经从cmake链接了/usr/lib/x86_64-linux-gnu/libmpich.so并且这些文件是这样相关的:/usr/lib/x86_64-linux-gnu/libmpich.so->libmpich.so.

linux - 执行 ln -s 命令的 bash 脚本在退出时收到错误代码,但已成功创建符号链接(symbolic link)

我写了一个bash脚本,它应该遍历TARGETDIR中的文件和目录,并创建一个符号链接(symboliclink)到DESTINATIONDIR中的所有目录。该脚本有效,但据我所知,ln命令给出了>0的退出代码,因此未打印相应的成功消息。这是执行脚本之前的目标目录:obi@Hanzomon:/home/dog⟫ls-latotal8drwxr-xr-x2obiobi4096Dec2411:13.drwxr-xr-x8obiobi4096Dec2410:32..这里是目标目录,有很多子目录obi@Hanzomon:/home/dog⟫ls/home/budbzfs.confDownloa

linux - 执行 ln -s 命令的 bash 脚本在退出时收到错误代码,但已成功创建符号链接(symbolic link)

我写了一个bash脚本,它应该遍历TARGETDIR中的文件和目录,并创建一个符号链接(symboliclink)到DESTINATIONDIR中的所有目录。该脚本有效,但据我所知,ln命令给出了>0的退出代码,因此未打印相应的成功消息。这是执行脚本之前的目标目录:obi@Hanzomon:/home/dog⟫ls-latotal8drwxr-xr-x2obiobi4096Dec2411:13.drwxr-xr-x8obiobi4096Dec2410:32..这里是目标目录,有很多子目录obi@Hanzomon:/home/dog⟫ls/home/budbzfs.confDownloa

linux - CMake 中的跨平台路径

我有一个项目,可以使用CMake在Linux和Windows上构建。唯一的问题是CMakeLists.txt中的Unix样式路径无法在Windows上运行(它使用反斜杠而不是斜杠,也需要驱动器号)。有什么方法可以编写跨平台的CMakeLists.txt吗? 最佳答案 你的问题影响不同的细节:只是不要使用反斜杠。Windows也会处理斜杠。不要使用驱动器号。到处使用相对路径。GET_FILENAME_COMPONENT(X"${CMAKE_CURRENT_SOURCE_DIR}"REALPATH)无需写任何绝对路径即可解决整个路径。将

linux - CMake 中的跨平台路径

我有一个项目,可以使用CMake在Linux和Windows上构建。唯一的问题是CMakeLists.txt中的Unix样式路径无法在Windows上运行(它使用反斜杠而不是斜杠,也需要驱动器号)。有什么方法可以编写跨平台的CMakeLists.txt吗? 最佳答案 你的问题影响不同的细节:只是不要使用反斜杠。Windows也会处理斜杠。不要使用驱动器号。到处使用相对路径。GET_FILENAME_COMPONENT(X"${CMAKE_CURRENT_SOURCE_DIR}"REALPATH)无需写任何绝对路径即可解决整个路径。将

linux - Busybox 环境不显示 LD_LIBRARY_PATH

我们在嵌入式系统上使用linux,该系统具有用于各种shell命令的busybox1.20.2。我们遇到了一个非常奇怪的问题,因为env现在确实显示了LD_LIBRARY_PATH的值:$exportLD_LIBRARY_PAT=/usr/bin$exportLD_LIBRARY_PATH=/usr/bin$exportLD_LIBRARY_PATH1=/usr/bin$env|sortENV=/etc/profile.environmentHISTFILE=/tmp/.ash_history.debug.357HOME=/home/debugLD_LIBRARY_PAT=/usr/b

linux - Busybox 环境不显示 LD_LIBRARY_PATH

我们在嵌入式系统上使用linux,该系统具有用于各种shell命令的busybox1.20.2。我们遇到了一个非常奇怪的问题,因为env现在确实显示了LD_LIBRARY_PATH的值:$exportLD_LIBRARY_PAT=/usr/bin$exportLD_LIBRARY_PATH=/usr/bin$exportLD_LIBRARY_PATH1=/usr/bin$env|sortENV=/etc/profile.environmentHISTFILE=/tmp/.ash_history.debug.357HOME=/home/debugLD_LIBRARY_PAT=/usr/b

linux - 按照符号链接(symbolic link)从当前目录运行

我有一个脚本run.sh位于只读目录/install/app/release_1.0.0/的某个位置,并且在完全访问的目录中有一个指向该脚本的符号链接(symboliclink)目录/packages/app/。此脚本使用相对路径处理文件。当我使用符号链接(symboliclink)运行此脚本时,它无法找到文件,因为它正在符号链接(symboliclink)的当前目录中查找。我怎样才能强制它查看链接目标的当前目录?更改脚本不是首选。 最佳答案 不要使用符号链接(symboliclink),而是使用包装器。删除/packages/ap