草庐IT

linux - gcc: 找不到/usr/local/lib 中的链接库,但是/etc/ld/so.conf.d/libc.conf 列出了它?

我遇到了共享库和gcc的问题。起初我无法运行我编译的程序,因为我收到以下错误:加载共享库时出现gcc错误。查了一下,发现是共享库找不到​​。但是我已经确定共享库位于/usr/local/lib中,AFAICT是共享库的常用目录,应该从一开始就可以使用。我读到您可以设置LD_LIBRARY_PATH,这对我有用。但是,我不希望每次运行我的程序时都设置它。进一步搜索建议编辑ld.so.conf。当我查看它时,它具有以下内容:include/etc/ld.so.conf.d/*.conf查看ld.so.conf.d目录显示了一系列文件,包括libc.conf。该文件中包含以下内容:/usr/

linux - gcc: 找不到/usr/local/lib 中的链接库,但是/etc/ld/so.conf.d/libc.conf 列出了它?

我遇到了共享库和gcc的问题。起初我无法运行我编译的程序,因为我收到以下错误:加载共享库时出现gcc错误。查了一下,发现是共享库找不到​​。但是我已经确定共享库位于/usr/local/lib中,AFAICT是共享库的常用目录,应该从一开始就可以使用。我读到您可以设置LD_LIBRARY_PATH,这对我有用。但是,我不希望每次运行我的程序时都设置它。进一步搜索建议编辑ld.so.conf。当我查看它时,它具有以下内容:include/etc/ld.so.conf.d/*.conf查看ld.so.conf.d目录显示了一系列文件,包括libc.conf。该文件中包含以下内容:/usr/

linux - 在 Linux 上使用 gcc 进行增量链接。可能吗?

我团队项目的开发方式是,我们从所有.o对象文件中为我们的应用程序生成一个共享对象库。我的任务(希望它足够具体但也足够通用以供其他人使用!)是仅链接自上次创建可执行文件以来已更改的目标文件。例如,这是我用来构建.so的命令行:g++34-shared-rdynamic-m64-Wl,-rpath,'$ORIGIN'MyObject1.oMyObject2.oMyObject3.oMyObject4.o-olibMySharedLibrary.so按预期工作!:)我的目标是从现在开始只能链接更改的目标文件,以加快并发链接过程。一个示例命令是:g++34-shared-rdynamic-m6

linux - 在 Linux 上使用 gcc 进行增量链接。可能吗?

我团队项目的开发方式是,我们从所有.o对象文件中为我们的应用程序生成一个共享对象库。我的任务(希望它足够具体但也足够通用以供其他人使用!)是仅链接自上次创建可执行文件以来已更改的目标文件。例如,这是我用来构建.so的命令行:g++34-shared-rdynamic-m64-Wl,-rpath,'$ORIGIN'MyObject1.oMyObject2.oMyObject3.oMyObject4.o-olibMySharedLibrary.so按预期工作!:)我的目标是从现在开始只能链接更改的目标文件,以加快并发链接过程。一个示例命令是:g++34-shared-rdynamic-m6

c - 与 gcc 静态链接时如何只包含使用过的符号?

我正在部署一个用gcc4.3.2-1.1(Debian)编译的小程序。该程序将部署在从Debain5到前沿的Fedora、Ubuntu、Slackware、Arch等虚拟机模板上。该程序依赖于Xen库中的一些符号,这些符号仅在不稳定的树中可用。因此,通过虚拟机模板上的相应包管理器安装Xen的库并不能解决我眼前的问题。在打包我自己的这些库版本之前,我需要静态链接可执行文件。默认情况下,gcc4.3-x是否只包含静态链接时实际使用的符号,或者是否有另一个我应该传递给链接器的优化标志?我知道静态链接不好,我这样做只是为了临时解决问题。 最佳答案

c - 与 gcc 静态链接时如何只包含使用过的符号?

我正在部署一个用gcc4.3.2-1.1(Debian)编译的小程序。该程序将部署在从Debain5到前沿的Fedora、Ubuntu、Slackware、Arch等虚拟机模板上。该程序依赖于Xen库中的一些符号,这些符号仅在不稳定的树中可用。因此,通过虚拟机模板上的相应包管理器安装Xen的库并不能解决我眼前的问题。在打包我自己的这些库版本之前,我需要静态链接可执行文件。默认情况下,gcc4.3-x是否只包含静态链接时实际使用的符号,或者是否有另一个我应该传递给链接器的优化标志?我知道静态链接不好,我这样做只是为了临时解决问题。 最佳答案

linux - 无法执行 'x86_64-conda_cos6-linux-gnu-gcc' : No such file or directory (pysam installation)

我正在尝试安装pysam。执行后:pythonpath/to/pysam-master/setup.pybuild产生这个错误:unabletoexecute'x86_64-conda_cos6-linux-gnu-gcc':Nosuchfileordirectoryerror:command'x86_64-conda_cos6-linux-gnu-gcc'failedwithexitstatus1有类似的线程,但它们似乎都解决了我没有的管理员权限问题。有没有办法安装所需的文件?免责声明:这个问题来self之前的一篇帖子。manuallyinstallingpysamerror:"Im

linux - 无法执行 'x86_64-conda_cos6-linux-gnu-gcc' : No such file or directory (pysam installation)

我正在尝试安装pysam。执行后:pythonpath/to/pysam-master/setup.pybuild产生这个错误:unabletoexecute'x86_64-conda_cos6-linux-gnu-gcc':Nosuchfileordirectoryerror:command'x86_64-conda_cos6-linux-gnu-gcc'failedwithexitstatus1有类似的线程,但它们似乎都解决了我没有的管理员权限问题。有没有办法安装所需的文件?免责声明:这个问题来self之前的一篇帖子。manuallyinstallingpysamerror:"Im

linux - 使 gcc 在链接时更喜欢静态库而不是共享对象?

当使用-l选项(例如-lfoo)链接库时,gcc将更喜欢共享对象而不是静态库,如果两者都找到(将更喜欢libfoo.so到libfoo.a)。如果两者都找到,有没有办法让gcc更喜欢静态库?我要解决的问题如下:我正在为一个应用程序(名为X-Plane的飞行模拟器)创建一个插件,具有以下限制:插件将采用32位共享对象的形式,即使在64位系统上运行也是如此运行环境没有提供一种方便的方式来加载不在“正常”位置的共享对象,比如/usr/lib或/usr/lib32:不能指望用户设置LD_PRELOAD或LD_LIBRARY_PATH来查找我的插件附带的共享对象在动态加载插件共享对象之前,X-P

linux - 使 gcc 在链接时更喜欢静态库而不是共享对象?

当使用-l选项(例如-lfoo)链接库时,gcc将更喜欢共享对象而不是静态库,如果两者都找到(将更喜欢libfoo.so到libfoo.a)。如果两者都找到,有没有办法让gcc更喜欢静态库?我要解决的问题如下:我正在为一个应用程序(名为X-Plane的飞行模拟器)创建一个插件,具有以下限制:插件将采用32位共享对象的形式,即使在64位系统上运行也是如此运行环境没有提供一种方便的方式来加载不在“正常”位置的共享对象,比如/usr/lib或/usr/lib32:不能指望用户设置LD_PRELOAD或LD_LIBRARY_PATH来查找我的插件附带的共享对象在动态加载插件共享对象之前,X-P