c++ - 在 Visual Studio 2012 中,图书馆员和链接器有什么区别?

标签 c++ visual-studio-2012 c++-cli

我正在配置我的项目以使用 x86 和 x64 位构建,为此我必须为不同的配置更改目标机器。

我试图找到为我的 native C++ 库设置目标机器的位置,我找到了 this post .

但是我在 native C++ 库项目中没有链接器,我有“配置属性 -> 链接器 -> 高级 -> 目标机器”选项仅在 C++/CLI 项目中。

在 native C++ 库项目中,我有一个“Librarian”部分。我搜索了一下,发现目标机器位于:配置属性 -> 图书馆员 -> 常规 -> 目标机器。

图书馆员部分的选项似乎比链接器少。

LibrarianLinker 部分是否相同?在我在 google 上搜索的文档中,我只看到提到了 Linker

也许我配置有误?或者在这个post答案没有提到 Native C++?

最佳答案

Are the Librarian and the Linker section the same? On the documentation I searched on google I only see Linker mentioned.

它们几乎是一样的。当您的项目将成为静态库时,启用选项 Librarian。选项 Linker 用于可执行文件和动态(链接)库 (dll)。

动态库将动态链接到您正在构建的可执行文件,这意味着 dll 必须在执行时存在。另一方面,静态库将成为可执行文件的一部分。静态库不能链接到某些动态库,因为链接应该在生成可执行文件时完成。否则会引起歧义。这就是图书馆员选项减少的原因。 (例如,没有输入选项)。

Maybe I have something configured wrong? Or in this post the answer didn't refer to Native C++?

来自链接的项目post生成一个dll(动态链接库),而不是一个静态库。在配置属性 -> 常规 -> 配置类型中检查您的设置。

关于c++ - 在 Visual Studio 2012 中,图书馆员和链接器有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22026008/

相关文章:

C++:继承函数并重新定义它们

c++ - Typedef 警告和语法错误 LPINPUT

asp.net - visual studio 2012 在设计模式下显示隐藏标签

windows - 从非托管代码写入 NUnit 的文本输出选项卡

c# - 从 C++/CLI 调用 C# dll 函数

c++ - 如果从文件中创建尺寸大于 128*128 的地形,则会出现堆栈溢出错误

c++ - 如何同时旋转和平移我的 Sprite ? cocos2dx 3.2

c# - 如何在C#项目中使用VS2012的自动HLSL编译?

.net - 如何从 .net 应用程序(重新)格式化分区?

c++ - 越过字符串的初始化并跳转到label case