问题标签 [linker-warning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 来自rstudio的奇怪ld警告
当我尝试在 Rstudio 上安装软件包时,我一直遇到这样的 ld 警告:
ld:警告:基于文本的存根文件 /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd 和库文件 /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation 不同步。回退到库文件进行链接。
有人知道如何解决这个问题吗?
c++ - 如何从 VisualStudio 获取更多详细信息以追踪警告的来源
我升级到最新版本的 VisualStudio 2017 (15.9.5) 来编译我们的原生 C++ 应用程序。但是现在在发布模式下(并且仅在发布中)我收到以下警告(我们将警告视为错误):
DetectPossibilities 是唯一与我们的代码有任何关系的东西(_Temp 没有),我能看到的唯一奇怪的是它是自我捕获的
更新:我找到了一种解决方法和一个合理的解释,所以我将发布 Q 和 A,这样下一个人就不会花费与我相同的半天时间来弄清楚发生了什么。
c++ - 我们如何使用#pragma 警告禁用链接器警告?
我们可以禁用编译器警告
#pragma warning(disable:4966)
我们如何使用#pragma 指令禁用链接器警告?就像是:
ios - -headerpad_max_install_names 与 -bitcode_bundle 一起使用时被忽略
构建我的 Xcode 项目会给出以下警告:
如何对这个警告采取行动?
大概 Xcode 正在将该headerpad_max_install_names
实体扔给正在抱怨的链接器。
但我看不到 WHERE。grep
ping 我的项目没有找到这个令牌。
我想实现(并保持)零警告。
编辑:我在 myproject/External/cmake-modules/ios.toolchain.cmake 中找到:
c++ - Intel-Media SDK 起点的链接器错误
我尝试使用 Intel Media SDK 开始一个项目。但是我在链接过程中遇到了一些错误。我使用 Microsoft Visual C++ 2008。我得到了 Intel(R) Media SDK 2019 R1。
我遵循编程指南。 https://software.intel.com/sites/default/files/managed/9e/5a/mediasdk-man.pdf
我已经包含了这些文件:
并链接此库:
我在项目配置属性-> VC++ 目录-> 库目录中添加了一个新库,在这里我指定了用于搜索库的附加文件夹。
路径:Program Files (x86)\IntelSWTools\Intel(R) Media SDK 2019 R1\Software Development Kit\lib\win32" 我也尝试使用:C:\Program Files (x86)\IntelSWTools\Intel(R) Media SDK 2019 R1\软件开发工具包\lib\x64
并添加配置属性 -> 链接器 -> 输入库 libmfx.lib 的具体名称。
我的代码:
我的错误信息:
1>Linking... 1>LINK : 警告 LNK4098: defaultlib 'LIBCMT' 与其他库的使用冲突;使用 /NODEFAULTLIB:library
1>libmfx.lib(mfx_load_dll.obj) : 错误 LNK2019: 函数“void * __cdecl MFX::mfx_dll_load(wchar_t const *)”中引用的无法解析的外部符号 __imp__SetThreadErrorMode@8 (?mfx_dll_load@MFX@@YAPAXPB_W@Z)
1>libmfx.lib(mfx_dxva2_device.obj) : 错误 LNK2001: 无法解析的外部符号 __imp__SetThreadErrorMode@8
1>D:\slegrand\MediaSDKandFFMPEG2\SDKandFFMPEG\Debug\SDKandFFMPEG.exe : 致命错误 LNK1120: 1 unresolved externals
谢谢您的帮助。
c++ - DT_TEXTREL 是什么意思,如何解决?
我正在开发一个 C++ 项目,它使用foo.a
在旧的 Intel 32 位架构(使用gcc-4 )上编译的(遗留)静态库(让我们命名它)。我没有这个库的源代码,所以我无法重建它。
现在我必须使用gcc-6.5将整个项目移植到基于x86-64 linux 的环境中,并且在第一阶段,我尝试使用flag 编译所有内容,以便不更改任何内容。-m32
编译阶段进展顺利,但在链接阶段我收到此警告:
ld: (foo.a)(x.o) relocation of read-only section '.ro-data'
ld: warning: creating a DT_TEXTREL in object.
无论如何,可执行文件已创建,但此时我无法对其进行测试(是的,我知道,这似乎是一场灾难!)。
我读到了一些关于在构建时缺少-fPIC
标志以及在旧的32 位架构上该选项是不必要foo.a
的事实。-fPIC
我的问题是:
- 是什么
DT_TEXTREL
?我找不到关于这个术语的任何文档,只有手册上的片段。 - 如何在不重新编译的情况下解决这个问题
foo.a
? - 如果(问题 2)无法实现,我应该通过忽略此警告对最终可执行文件期待什么问题?
谢谢!
ios - Xcode 11.5 中的 Firebase 链接器警告
Firebase (6.25.0) FirebaseAnalytics (6.5.1) FirebaseCore (6.7.1) macOS Catalina (10.15.4) Xcode 11.5
我在我的 Xcode 工作区中通过 CocoaPods 更新了 Firebase SDK,并开始收到几个 Xcode 链接器 (ld) 警告,这些警告都归结为这两个的变体:
- ld:警告:来自归档文件名/对象文件名的类别中的实例方法方法名与来自另一个类别的相同方法冲突
例子:
- ld:警告:归档文件名/对象文件名类别中的元方法方法名与另一个类别中的相同方法冲突
例子:
我已经尝试过干净的构建和清理/重新安装 pod 缓存,但继续收到这些警告。这些似乎不会损害应用程序的执行,但我想清除它们。我最近将 Xcode 更新到 11.5,所以这可能是一个因素(Xcode 11.5 也开始显示Ads SDK 的其他类型的链接器警告)。
macos - Xcode 12:如何链接为独立构建的目标文件
问题是关于将 x86_64 macOS 可执行文件静态链接到 libavcodec、libavdevice 等,这些文件有一些针对独立构建的目标文件,因为它们使用 YASM 无法在二进制文件中嵌入 macOS“标签”(请参阅 Building for macOS,但链接中为免费建立的目标文件以获取有关该问题的详细信息)。
在 Xcode 11.6 下一切正常 - 以下消息在这里,但它们是警告。随着 Xcode 12 的更新,它们变成了一个错误。如何让他们再次警告?我在 ld 手册页中找不到任何相关内容。
ld:在 ffmpeg/lib/libavcodec.a(aacencdsp.o) 中,为 macOS 构建,但在为独立构建的目标文件中链接,适用于架构 x86_64
c++ - 如何将链接器警告视为 Clang 错误?
我正在使用 cmake。
我试过了
-fatal-warnings
(这里提到)
-fatal_warnings
(与 一起提到man ld
)
那些应该与 一起使用-W
吗?
我希望整个项目中的所有链接器警告都是错误的。
我得到的警告是:
ld: warning: ignoring file libvst2sdk.a, building for macOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x21 0x3C 0x61 0x72 0x63 0x68 0x3E 0x0A 0x23 0x31 0x2F 0x32 0x30 0x20 0x20 0x20 )