草庐IT

GCC-style

全部标签

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

linux - gcc:在 32 位平台上编译 64 位二进制文​​件

是否可以使用gcc在32位Linux平台上编译64位二进制文​​件? 最佳答案 如果您安装了multilibGCC,只需在命令行中添加-m64即可。如果编译器没有使用multilib支持构建,编译器应该会报错。为了链接,您需要标准库的所有64位副本。如果您的发行版有multilibGCC,这些也应该在存储库中。 关于linux-gcc:在32位平台上编译64位二进制文​​件,我们在StackOverflow上找到一个类似的问题: https://stackov

linux - gcc:在 32 位平台上编译 64 位二进制文​​件

是否可以使用gcc在32位Linux平台上编译64位二进制文​​件? 最佳答案 如果您安装了multilibGCC,只需在命令行中添加-m64即可。如果编译器没有使用multilib支持构建,编译器应该会报错。为了链接,您需要标准库的所有64位副本。如果您的发行版有multilibGCC,这些也应该在存储库中。 关于linux-gcc:在32位平台上编译64位二进制文​​件,我们在StackOverflow上找到一个类似的问题: https://stackov