jjzjj

ld-preload

全部标签

c++ - Ld 神奇地覆盖静态链接的符号

这几天我们一直在处理非常奇怪的问题。我什至无法理解它是如何发生的——当第三方(MATLAB)程序使用我们的共享库时,它会以某种方式用它自己的符号覆盖我们的一些符号(准确地说是增强)。这些符号是静态链接的并且(!!)是本地的。这是交易-我们使用boost1.47,MATLAB有boost1.40。目前,库在从我们的库调用它们的boost(正则表达式)时会出现段错误。所以,这是神奇的:我们没有依赖库,ldd:linux-vdso.so.1=>(0x00007fff4abff000)libpthread.so.0=>/lib/libpthread.so.0(0x00007f1a3fd6500

c++ - ld : library not found for -lrt

我正在尝试运行一个为Ubuntu创建并在MacOS上运行的项目。当我进行make时,出现以下错误:ld:librarynotfoundfor-lrtclang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)make[2]:***[consumer]Error1make[1]:***[CMakeFiles/consumer.dir/all]Error2make:***[all]Error2我在项目中看不到任何具有该名称的库。谁能解释一下这是什么以及如何解决? 最佳答案

c++ - 如何在 Unix TeamCity 构建代理上设置环境变量 PATH 和 LD_LIBRARY_PATH?

我使用TeamCity在Unix(Solaris)上构建C++。TeamCity调用make,在我的makefile中我需要调用svn。为此,我需要修改PATH和LD_LIBRARY_PATH。我可以在makefile中设置这些,但位置因服务器而异。有谁知道为每个TeamCity构建代理设置这些的方法,例如通过编辑conf/buildAgent.properties?我可以在~/.login等中为TeamCity构建帐户设置它们,但我不希望这样做,因为它是一个共享帐户。-谢谢,巴尼 最佳答案 如您所料,您可以在conf/buildA

C++ 异常和 ld 符号警告

我正在尝试用C++创建异常,我有以下测试代码:#include#include#includeusingnamespacestd;classMyerror:publicruntime_error{private:stringerrmsg;public:Myerror(conststring&message):runtime_error(message){}};intmain(intargc,char*argv[]){throwMyerror("wassup?");}我正在编译这个:icpc-std=c++11-O3-m64编译后我收到这个ld警告:ld:warning:directac

c++ - collect2.exe : error: ld returned 5 exit status

我最近更新了所有msys2包,现在我无法构建我的项目。错误发生在链接其中一个.dll-target_library.dll时。我不清楚错误消息。状态5是什么意思?collect2.exe:error:ldreturned5exitstatus完整消息:g++-Wl,-s,--relax,--gc-sections-shared-Wl,-subsystem,windows-mthreads-Wl,--out-implib,C:/msys64/workspace/Project_Root_Directory/project/src/../build/release/plugins/libt

【macOS-OpenCV报错】ld: warning:ignoring file found architecture ‘x86_64‘, required architecture ‘arm64

如果之前用的mac是英特尔intel芯片的,然后换了macM1或M2芯片的。在使用OpenCV时会报错ld:warning:ignoringfile'/usr/local/Cellar/opencv/4.7.0_7/lib/libopencv_gapi.4.7.0.dylib':foundarchitecture'x86_64',requiredarchitecture'arm64'ld:warning:ignoringfile'/usr/local/Cellar/opencv/4.7.0_7/lib/libopencv_bgsegm.4.7.0.dylib':foundarchitectur

c++ - 使用 dlopen 加载 GNU ld 脚本

我有一个C++14代码,它应该使用dlopen加载任意共享对象文件。不幸的是,在某些系统上(例如我的archlinux,据报道也适用于ubuntu和gentoo上的某些.so),这些so文件可以是“GNUld脚本”而不是实际的二进制文件。作为引用,这里是我的/usr/lib/libm.so的内容:/*GNUldscript*/OUTPUT_FORMAT(elf64-x86-64)GROUP(/usr/lib/libm.so.6AS_NEEDED(/usr/lib/libmvec.so.1))我在ghc中找到了几个处理这个问题的代码片段或ruby.我想避免诉诸基于解析dlerror文本和

c++ - 为什么 g++/ld 内存不足?

我正在尝试编译Qt(Windows7,msys下的mingw32-g++32位),但ld内存不足。有谁知道为什么?或者也许是一种解决方法?谢谢!$g++-mthreads-shared-Wl,--out-implib,i:/Programs/Qt/lib/libQtGuid4.a-o../../lib/QtGuid4.dllobject_script.QtGuid.Debug-L'i:/Programs/Qt/lib'-L'i:/Programs/Qt/lib'-lgdi32-lcomdlg32-loleaut32-limm32-lwinmm-lwinspool-lws2_32-lol

/usr/bin/ld:找不到-lauparse

如何在Fedora26上安装Auparse库?$gcc-lauparseme.c/usr/bin/ld:cannotfind-lauparse我尝试了很多事情,包括这些。$sudofind/-name*auparse.so/usr/lib64/python3.6/site-packages/auparse.so$exportLD_LIBRARY_PATH=/usr/lib64/python3.6/site-packages/didnthelp:{sudoln-s/usr/lib64/python3.6/site-packages/auparse.so/usr/lib/gcc/x86_64-re

c++ - ld 报告缺少符号,但符号似乎存在

我正在尝试将我的mac应用程序链接到精彩的libancillary图书馆。但是,我更改了库构建脚本以创建共享库。我可以使用nmlibancillary.dylib检查这个库中的符号-结果是:libancillary.dylib(singlemodule):U___sFU__keymgr_get_and_lock_processwide_ptrU__keymgr_get_and_lock_processwide_ptr_2U__keymgr_set_and_unlock_processwide_ptrU_abort00002cfeT_ancil_recv_fd00002c87T_anci