问题标签 [linker]
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.
c - 如何在 Delphi 项目中包含/链接 C .lib 文件
我们有一个 .lib 文件,它的功能必须包含在 Delphi 应用程序中。
包含 .obj 文件很容易,但由于某些未知原因,这不适用于 .lib 文件。帮助对此不是很有帮助。谷歌搜索并没有太大帮助(最有用的是使用其他链接器,但如果可能的话我想避免它)。
一种解决方案可能是使用 C++ builder 创建一个包,但我不太喜欢它。
所以问题是,是否有人知道将 C .lib 文件包含到 Delphi 项目中的方法(以便可以使用该功能)?或者有没有办法将 .lib 文件拆分为 .obj 文件。
(顺便说一下,我们使用 2006 年。
c++ - 如何静态链接.DLL?
我们有一个由 VS 构建的(纯原生 C++).DLL。作为客户端,我们有一些本地 C++ 应用程序和一个围绕这个用 C++/CLI 编写的 DLL 的 .Net-Wrapper。最后,还有一些用 C# 编写的 .Net-Wrapper 客户端应用程序。
我的问题是 native.dll 必须以不同于 .Net 世界的方式分发,并且 VS 不会跟踪该 DLL。因此,为了让我的所有 C# 应用程序正常工作,我必须将其复制到每个可执行目录或将其放在 %PATH% 中的某个位置(我会避免在开发人员计算机上这样做,因为他们可能希望使用不同版本的 DLL 启动不同的应用程序)。如果有引用 Wrapper-DLL 的 UserControl 会出现更大的问题:您必须将 DLL 复制到 VS 的目录或再次复制到 %PATH%。但最坏的情况发生在我们的翻译工具上。该工具跟踪 .Net-Assemblies 并将它们打包到可以发送给外部翻译器的翻译器包中。据我所知,没有办法将本机 .DLL 放入该包中!
因此,我计划将本机 DLL 静态链接到 .Net-Wrapper 中,这将解决我的问题。但是对于我们的本机应用程序,这个本机 DLL 必须仍然是一个 DLL。
所以我有两个选择:
- 制作两个项目(一个生成静态库;一个创建动态库=>我尽量避免这种情况)
- 找到静态链接 DLL 的解决方案
- 找到一种方法让 VS 从一个项目中生成两个输出
c++ - C++ 标准和全局符号删除
任何人都可以链接到 C++ 标准关于编译器删除全局和静态符号的内容?我以为您不能保证如果未引用全局符号,编译器将删除它们。我的一位同事断言,如果您的全局符号包含在主翻译单元中,即使未引用这些符号,也不会删除它们。
c - C代码库中的全局变量识别
我有一个 C 代码库,需要以编程方式识别所有使用的全局变量。我认为 gcc 可以用来生成内存映射文件,但不知道如何,这可能让我看到哪些变量是全局的?任何帮助,将不胜感激。
干杯
c++ - C++ 链接器错误
我有一个这样的函数,它不在一个类中:
它在 VS2005 中编译得很好,但是在第一个包含它的文件之后,我得到了每个文件的链接器错误,即使我使用的是 Compile Guards。凭直觉,我用这样的课程包围了它:
砰!固定的。
问题:为什么?
linker - 链接共享库时限制符号的可见性
某些平台要求您向链接器提供共享库的外部符号列表。但是,在大多数 unixish 系统上,这不是必需的:默认情况下,所有非静态符号都可用。
我的理解是 GNU 工具链可以选择性地将可见性限制为明确声明的符号。使用 GNU ld 如何实现这一点?
c++ - 减小 Windows 可执行文件大小
我在 Windows 上有一个 C++/MFC 应用程序 - 动态链接它只有 60kb 静态它 > 3Mb。
它是通过电子邮件分发给客户的,因此需要尽可能小。
它静态链接 MFC 和 MSCVRT 库——因为它是对一些问题的修复,我不希望更多关于缺少库的支持调用——尤其是非常有用的“应用程序配置不正确”!
无论如何,有没有去除所有额外的 MFC 东西的 Windows exe,这些东西是 dll 但我没有使用?
或者告诉它动态链接MSVCRT(必须存在)但静态链接可能不存在的MFC dll?
编辑 - 谢谢你把它降到了 1.6Mb,这是必须的!
c++ - 与 Mac OS X 上的间接依赖关系的链接问题
我们有一些间接依赖的链接问题。从我在网上阅读的内容猜测,这可能是因为使用了两级命名空间。当我们链接到 boost 库时会发生这种情况,确切地说是 boost_filesystem,它本身依赖于 boost_system。链接器不解决 boost_filesystem 和 boost_system 之间的依赖关系。有人可以给我一些提示如何解决这个问题吗?手动将 boost_system 添加到依赖项中感觉很难看,此外,它在其他平台上也能正常工作。
c++ - 抑制 G++ 3.4.6 中的链接错误
不要问为什么,但是有什么方法可以抑制失败的链接错误?
如:
未定义对 BLANK 的引用
这是在 GCC 3.4.6 中