gpt4 book ai didi

涉及Glib2库的C程序编译问题?

转载 作者:行者123 更新时间:2023-11-30 17:48:45 25 4
gpt4 key购买 nike

我正在尝试编译 the following project在远程服务器上。

我已将项目克隆到名为“scode”的文件夹中。

该项目需要 glib2 和 gsl 库。由于我尝试在远程服务器上进行编译,因此我没有 sudo 权限。所以我无法使用工具为我安装glib2和gsl。

因此,我在“scode/gsl”和“scode/glib”文件夹下手动编译了 gsl 和 gslib2。

我必须修改 Makefile 并将绝对路径添加到这些目录作为 -I 选项。

尽管如此,当我尝试编译最终的可执行文件时。我收到以下错误:

[dyuret@psglogin scode]$ make

gcc -O3 -D_GNU_SOURCE -Wall -std=c99 -I. -I /home-2/dyuret/scode/gsl -I /home-2/dyuret/scode/glib/ pkg-config --cflags glib-2.0 scode.o svec.o pkg-config --libs glib-2.0 -lm -lgsl -lgslcblas -o scode

//home-2/dyuret/scode/glib/glib/libglib-2.0.la: file not recognized: File format not recognized

collect2: error: ld returned 1 exit status make: * [scode] Error 1

我对这个问题进行了一些研究。这个link看起来信息丰富,但我无法完全理解作者在说什么,因为我对编译器、libtools 和一般编译流程没有那么丰富的经验。

任何帮助将不胜感激。我已经在这个问题上花了一些时间,但还没有取得太大进展。

最佳答案

听起来好像您在非默认(即非系统)位置编译库的操作可能是错误的。

对于使用 autoconf 的软件包(即在源根目录中有一个 configure 脚本),您应该使用 --prefix ./configure 选项设置要安装软件包的目标位置。

对于构建共享库的包,通常必须执行 make install 步骤,但这听起来好像您可能没有这样做。

抱歉说得含糊,这些事情有点复杂。

关于涉及Glib2库的C程序编译问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18404098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com