- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我无法正确链接示例程序(在本例中是针对 ICU 库)。当我“制作”时,一切都很好。但是当我运行它时,它说找不到其中一个 .so。我仔细检查了它们都安装在/usr/local/lib 中。我发现它在/usr/lib 中查找。如果我从那里符号链接(symbolic link)到那里的实际位置,它就可以工作。
为什么我的 LIBPATHS 被忽略或未被使用?
这是生成文件
CC = g++
INCPATHS = -I/usr/local/include
CFLAGS = -c -Wall $(INCPATHS)
LIBPATHS = -L/usr/local/lib/
LIBS = $(LIBPATHS) -licuio -licui18n -licuuc -licuio -licudata
EXECUTABLE = prog
print_linking = echo -e "\033[32m" "Linking: $<" "\033[39m"
print_compiling = echo -e "\033[33m" "Compiling: $<" "\033[39m"
print_cleaning = echo -e "\033[31m" "Cleaning: `pwd`" "\033[39m"
all: main
# [target]: [dependencies]
# <tab> system command
main: main.o
@$(print_linking)
@$(CC) -o $(EXECUTABLE) main.o $(LIBS) >> /dev/null
main.o: main.cpp
@$(print_compiling)
@$(CC) $(CFLAGS) main.cpp
clean:
@$(print_cleaning)
@rm -rf *.o *~ $(EXECUTABLE)
最佳答案
您的 LIBPATHS
告诉链接器在链接以解析符号时在哪里可以找到库。
在运行时,您需要告诉加载程序在哪里可以找到库。它不知道编译时发生了什么。您可以使用上面提到的 LD_LIBRARY_PATH
变量,或者查看 /etc/ld.so.conf
和它的 friend 。
关于c++ - LIBPATHS 未在 Makefile 中使用,无法找到共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2426720/
我的解决方案/项目在为这个特定项目关闭代码契约(Contract)的情况下构建得很好。 当我在我的项目上打开执行运行时契约(Contract)检查时,构建失败。 CC 重写器开始发出数百条消息,内容如
当我从命令行运行R时: > library(ggplot2) ... > path.package('ggplot2') [1] "/home/yang/R/x86_64-pc-linux-gnu-l
如果我想知道哪个目录安装了R,哪个R命令可以做到? .libPath()函数获取/设置找到软件包的位置。这与R的安装目录有何不同? 最佳答案 您正在寻找R.home()。其他用途请参见?R.home,
抱歉,如果之前有人问过这个问题。我试过谷歌搜索和谷歌搜索,但似乎没有人报告过这一点。我正在尝试为我的 .libPaths 添加路径,但是 .libPaths(new=blah)似乎没有改变任何东西。这
每当我使用 .libPaths() 更改库路径顺序时功能,如果我重新启动 R,它会恢复为默认值。如何永久更改它?我正在开发一个 Linux 计算集群(我没有管理员权限),所以我想将我的本地库永久添加到
每当我使用 .libPaths() 函数更改库路径顺序时,如果我重新启动 R,它将恢复为默认值。我如何才能永久更改它?我在 Linux 计算集群上工作(我没有管理员权限)所以,我想将我的本地库永久添加
我正在尝试使用 Sqoop 将一些表数据从 PostgreSQL 导入到 HDFS。现在,由于许可限制,Sqoop 并未与所有 JDBC 兼容数据库的 JDBC 驱动程序打包在一起。 PostgreS
我的 oozie 作业使用 2 个 jar x.jar 和 y.jar,下面是我的 job.properties 文件。 oozie.libpath=/lib oozie.use.system.lib
如何永久删除R中的库? .libPaths() [1] "\\\\per-homedrive1.corp.riotinto.org/homedrive$/Tommy.O'Dell/R/win-libr
我有可以正常运行的可执行文件。它加载一个共享库。我在启动该 exe 之前设置了 LIBPATH。现在,如果我将 exe 的权限更改为 root 拥有并设置粘性位,则它无法加载共享库。如果我在/usr/
这是我的简单案例。我得到的源文件结构如下: . ├── SConstruct └── src ├── SConscript ├── staticLib │ ├── clas
我无法正确链接示例程序(在本例中是针对 ICU 库)。当我“制作”时,一切都很好。但是当我运行它时,它说找不到其中一个 .so。我仔细检查了它们都安装在/usr/local/lib 中。我发现它在/u
我是 TORCH LDT 的新用户。我在加载模块“libpaths”时遇到问题(在 Ubuntu 上)。 错误日志是: Exception in thread "main" com.naef.jnlu
安装 RStudio 后,我运行: library() Warning message: libraries '/usr/local/lib/R/site-library', 'usr/lib/R/s
我使用检查点包进行可重现的数据分析。有些计算需要很长时间才能计算,所以我想并行运行这些计算。但是当并行运行时,检查点没有设置在 worker 上,所以我收到一条错误消息 “没有名为 xy 的包”(因为
我正在尝试通过 Windows 命令提示符上的 BAT 文件运行 R 脚本。 这些脚本需要一些 R 包,例如 data.table , tidyR , 等等。 出于操作原因,所有必需的 R 包和依赖项
我在 Windows 上运行 R,而不是以管理员身份运行。当我安装软件包时,以下命令不起作用: > install.packages("zoo") Installing package(s) into
我正在制作两个简单的 C++/CLI 项目,一个是可执行文件,另一个是 DLL。在可执行文件中,我写 #using "DllLibName.dll" 它给了我错误 c1107,我虽然很容易解决。我用谷
我不是以管理员身份在 Windows 上运行 R。当我安装一个包时,以下命令不起作用: > install.packages("zoo") Installing package(s) into ‘C:
我将我在 linux 上开发的 Qt 应用程序导入到 windows 中。现在,当我构建项目时出现此错误: error: LNK1146: no argument specified with op
我是一名优秀的程序员,十分优秀!