linker相关内容

如何编译和链接谷歌测试在Visual Studio 2013中的C ++项目,但与Gtest安装NuGet包管理器?

我在Windows 7上有Microsoft Visual Studio 2013社区版。 我要以比下载标题和二进制文件或自己编译更新的方式安装gtest和gmock。 我找到工具> Nuget包管理器>管理Nugets包解决方案 我选择了在线,然后键入gtest。从搜索结果我发现了Google测试,所以我已经为我的当前项目安装了它。 安装后,下面的代码编译: #include ..
发布时间:2016-10-23 19:40:42 C/C++开发

如何将DLL链接到我的项目?错误LNK2019:未解析的外部符号

我有一个文件 foo.h ,它有各种函数声明。所有这些函数都在一个文件 foo.dll 中实现。但是,当我包括.h文件,并尝试使用任何函数,我得到的错误: bar.obj :error LNK2019:未解析的外部符号SomeFunction 这样显然没有找到函数实现。 p> 我需要做些什么来帮助编译器找到DLL中的定义并将它们与.h文件关联? 我看 ..
发布时间:2016-10-23 19:27:13 C/C++开发

如何让我的非常大的程序链接?

我们的下一个产品已经变得太大,无法在运行32位Windows的机器上链接。所有lib文件的总和超过2Gb,并且只能在64位Windows机器上链接。最终,我们将超过这个边界,因为我们的软件往往是增长而不是合同,我们使用一个32位链接器(MS Visual Studio 2005):当我们的库大小超过3Gb时,我们预期会遇到麻烦。 如何减少.lib文件或.obj文件的大小,而无需修剪代码?例如 ..
发布时间:2016-10-23 15:12:02 C/C++开发

使用GNU链接器来封装C ++函数

我喜欢GNU链接器功能来包装函数很多。我通常使用它模拟例如非确定性函数调用像rand()。考虑下面的例子,我想为giveMeANumber写一个单元测试: // number.cpp int giveMeANumber(){ return rand()%6 + 1; } 我可以使用GNU链接器功能包装调用rand,如下: // test.cpp ext ..
发布时间:2016-10-23 15:08:34 C/C++开发

OpenGL glLinkProgram返回false,但信息日志为空;检查一切

我必须承认这是我第一次实现着色器,以前我只使用固定功能管道; glLinkProgram(程序) - 当查询GL_LINK_STATUS时返回GL_FALSE。此外,信息日志为空(当我查询日志长度 - 它是1,这是每个文档的空终止符,它检出)。所以链接器错误,没有日志。此外,我刚刚发现,一旦我在顶点着色器中使用gl_Position变量,在分配期间和如果我使用它用于计算,链接器问题发生。我尝 ..
发布时间:2016-10-23 14:50:22 C/C++开发

Segfault在C ++插件库与重复符号

我有一个跨平台C ++应用程序,它分成几个共享库,并从插件共享库中加载额外的功能。插件库应该是自包含和自己的功能,不知道或依赖于调用应用程序。 其中一个插件包含来自主应用程序的复制代码,因此包含与引擎中的符号名称重复的符号名称。 (是的,我知道这通常是一个没有,但在插件编写时,引擎是一个单片的二进制文件,不能共享库。)在Windows上,一切运行正常。在Linux上,我们得到了segfaul ..
发布时间:2016-10-23 14:38:12 C/C++开发

函数已在.obj中定义

从我的理解,这个错误是由于没有正确使用头守卫,当你有多个文件,包括同一个文件。在我的情况下,这是导致错误的包含树: 文件A包含Z,其中包含我需要的功能。文件B包括A,文件C包括A. 没有任何 #pragma once blahblah.obj:error LNK2005:class some: :namespace :: ObjectType对象已经 在dialogDlg.ob ..
发布时间:2016-10-23 14:32:21 C/C++开发

将库与不兼容的依赖关系链接

我正在开发一个需要两个第三方库( libfoo.so 和 libbar.so )的C ++项目。我的操作系统是Linux。 libfoo.so 动态链接到libpng14.so.14(1.4.8) 1) libbar.so 似乎静态链接到 libpng的unknwon版本 libpng 1.2.8 (EDIT 1) 我说“似乎是”因为: ldd libbar.so 不会显示 ..
发布时间:2016-10-23 14:24:24 C/C++开发

iostream链接器错误

我有一些旧的C代码,我想与一些C ++代码结合。 C代码以前有以下包括: #include #include #include #include“mysql.h” 现在我想让它使用C ++用iostream这样: #include #include ..
发布时间:2016-10-23 14:23:42 C/C++开发

函数模板的多个定义

假设头文件定义了一个函数模板。现在假设两个实现文件 #include 这个头,并且每个都有一个函数模板的调用。在这两个实现文件中,函数模板使用相同的类型实例化。 // header.hh template void f(const T& o) { // ... } // impl1.cc #include “header.hh” void fim ..
发布时间:2016-10-23 14:10:47 C/C++开发

Visual Studio 15 __imp___iob,__imp___pctype,__imp___mb_cur_max

我想在Visual Studio中使用用mingw编译的库。但是,我得到以下链接器错误: 错误LNK2001:未解析的外部符号__imp ___ iob 错误LNK2019:在函数中引用的未解析的外部符号__imp___pctype $ p $ b 错误LNK2019:函数中引用的未解析的外部符号__imp____mb_cur_max 错误LNK2001:无法解析的外部符号_ ..
发布时间:2016-10-23 12:55:40 C/C++开发

如何找到一个函数的多个定义

我写了一个findDialog,它找到搜索的文本。当我给予 make 命令时,它返回 g ++ -Wl, O1 -o findDialog FindDialog.o main.o moc_FindDialog.o -L / usr / lib -lQtGui -lQtCore -lpthread moc_FindDialog.o:在函数`FindDialog :: findClicke ..
发布时间:2016-10-23 12:53:12 C/C++开发

链接两个.cpp和一个.h文件

我在做一个练习(从C ++的思维的第三章),但是我有一个问题链接两个.cpp文件。 这是练习: 创建头文件(扩展名为'.h')。在此文件中, 通过更改参数列表 声明一组函数,并返回以下值之一:void,char, int和float。现在创建一个包含 头文件的.cpp文件并为所有这些 函数创建定义。每个定义应该只打印出 函数名,参数列表和返回类型,所以你 知道它被调用。创 ..
发布时间:2016-10-23 12:46:26 C/C++开发

CMake链接问题

我试图使用CMake编译一个使用C库GStreamer的C ++应用程序。 我的main.cpp文件看起来像这样: extern“C”{ #include } int main(int argc,char * argv []) { GMainLoop * loop; GstElement ..
发布时间:2016-10-23 12:30:25 C/C++开发

如何加快c ++链接时间

有什么办法,以优化链接时间在MS Visual studio C ++(2005)?我们使用Xoreax Incredibuild编译加速,但没有链接。 目前每个链接大约需要30秒。当我打开增量链接,需要35-40秒。 (无论我是否编译项目有或没有incredibuild) 有什么办法,如何剖析连接器,看看需要多长时间?或任何工具的paralel链接? 感谢您的回复 Ludek ..
发布时间:2016-10-23 12:18:43 C/C++开发

可以替换全局“operator new()”。到处?

我想替换全局运算符new()和 operator delete()它们的变体),以便做一些内存管理技巧。我想让我的应用程序中的所有代码使用自定义运算符(包括我自己的DLL中的代码以及第三方DLL)。我已经读取的东西,链接器将选择链接时看到的第一个定义(例如,如果包含您的自定义运算符new()的库先链接,它将“击败”与CRT的链接)。有什么办法保证这会发生吗?这是什么规则,因为这真的是一个乘法定义的 ..
发布时间:2016-10-23 12:17:33 C/C++开发