草庐IT

c++ - 使用 gcc 调用纯虚函数时出现链接器错误

我和一个friend就对象的构造进行了非常有趣的讨论,最终得到了这段代码:#includeclassParent{public:Parent(){this->doSomething();}virtualvoiddoSomething()=0;};classChild:publicParent{intparam;public:Child(){param=1000;}virtualvoiddoSomething(){std::cout我知道标准没有定义从构造函数或析构函数调用纯虚函数时的行为,这也不是我如何在生产中编写代码的实际示例,它只是一个测试来检查什么编译器会。在Java打印中测试相

c++ - 未定义对 'function' 的引用——链接器问题?

我目前正在尝试在Linux终端上编译和链接我的C++文件。我运行的命令是:g++-ogameplaygamePlay.cppplayer.cppmain.cppdisplay.cpp-lcurses该命令似乎可以完美地编译所有内容,但是一旦它尝试链接内容,我就会遇到2个错误。undefinedreferenceto'gamePlay::deal(std::vector>,std::vector>)'undefinedreferenceto'gamePlay::score(player)'下面是我的gamePlay.CPP文件。我真的迷路了,非常感谢任何帮助!#include"gameP

c++ - 从 Xcode 链接到 Boost

我想使用Boost库编译一个Xcode(4.5.2版)项目。我已经在我的Mac上成功安装了Boost,我收到了以下消息:Thefollowingdirectoryshouldbeaddedtocompilerincludepaths:XXX/boost_1_52_0Thefollowingdirectoryshouldbeaddedtolinkerlibrarypaths:XXX/boost_1_52_0/stage/lib如何在Xcode中添加编译器包含路径和链接器库路径?非常感谢。 最佳答案 我应该提到以下是针对Xcode4.5

c++ - 使用 Visual C++ 2010 嵌入 v8

我正在尝试将v8引擎嵌入到我的C++应用程序中。我使用VisualC++2010。我已经使用以下命令成功构建了它:sconsenv="INCLUDE:C:\ProgramFiles\MicrosoftSDKs\Windows\v7.0A\Include;C:\ProgramFiles\MicrosoftVisualStudio10.0\VC\include,LIB:C:\ProgramFiles\MicrosoftSDKs\Windows\v7.0A\Lib;C:\ProgramFiles\MicrosoftVisualStudio9.0\VC\lib"然后,我:将v8/include

c++ - .h 文件上非常简单的函数 C++ 的链接错误

我创建了两个函数来将32/64位指针“转换”为double。该代码在单独使用时有效(只有.h和一个.cpp包括它)但是当在其他地方使用.h时(复制到项目目录然后包含)它会为.h上的所有函数抛出“已定义”错误。链接时的h文件。.h文件的源代码如下:#pragmaonce#ifndef__FLOATCAST_H#define__FLOATCAST_H//Aquickanddirtywayofcastingpointersintodoublesandback//ShouldworkwithBOTH64bitand32bitpointersunionptr_u{doubled;void*p;}

c# - 在 C# 程序中使用 .lib 文件

我有一个头文件和一个使用C++创建的.lib文件。现在我想在C#程序中使用它。这可能吗? 最佳答案 您可以创建一个托管包装器,请在此处查看分步说明:http://tom-shelton.net/?p=95 关于c#-在C#程序中使用.lib文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/17858805/

c++ - Qt 5.4 静态构建在 Visual Studio 2013 中产生 "unresolved external symbol"链接错误

我想使用Qt5.4的静态构建。由于没有可用的预编译静态构建,您必须自己从Qt源代码构建一个。我的环境如下:Windows7x64VisualStudio2013终极更新4Qt5VisualStudio插件1.2.4已安装ActivePerl/ActivePython(需要构建Qt源代码)我的程序如下(参见QtDocumentation>Qt5.4>QtforWindows-BuildingfromSource):下载qt-everywhere-opensource-src-5.4.0.zip解压缩到一个临时文件夹按照here所述打开命令提示符(基本上,这类似于打开“VisualStud

c++ - (C++) 与命名空间链接导致重复符号错误

在过去的几天里,我一直在努力弄清楚如何为我一直从事的CLI游戏项目链接文件。项目分为两部分,客户端和服务器代码。客户需要我制作的两个库。第一个是通用游戏板。这在GameEngine.h和GameEngine.cpp之间分开。头文件看起来像这样namespacegfdGaming{//structsqr_size{//Indexx;//Indexy;//};typedefstruct{Indexx,y;}sqr_size;constsqr_sizesPos={1,1};sqr_sizesqr(Indexx,Indexy);sqr_sizeePos;classboard{//Prototy

c++ - 链接究竟是如何工作的?

我对编译过程的理解:1)预处理:您所有的宏都被替换为它们的实际值,所有注释都被删除,等等。用您包含的文件的文字文本替换您的#include语句。2)编译:这里不会深入探讨,但结果是一个适用于您所处架构的汇编文件。3)汇编:获取汇编文件并将其转换为二进制指令,即机器代码。4)链接:这是我感到困惑的地方。此时你有一个可执行文件。但是如果你真的运行那个可执行文件会发生什么?问题是您可能包含了*.h文件,而这些文件只包含函数原型(prototype)吗?因此,如果您实际上从这些文件中调用其中一个函数,它将没有定义并且您的程序将会崩溃?如果是这样的话,链接到底做了什么呢?它如何找到与您包含的.h

c++ - 如何有选择地依赖 gcc 的共享对象?

首先,我根本不知道我的问题是否有解决方案。我有以下情况:我开发了一个框架库,它依赖于其他几个库来访问特定的硬件等。到目前为止,这个框架库只是静态链接。对于使用框架库的可执行文件,只需链接可执行文件实际使用的代码的依赖项。(如果我根本不访问特定硬件,我就不必依赖其关联的库。)现在我还需要制作一个框架库的共享对象。此外,依赖项可作为共享库使用,因此不需要任何静态链接。我现在遇到的问题:在构建动态链接到框架库的应用程序时,我必须将所有依赖项动态链接到框架库或应用程序。(否则我会收到来自ld的undefinedreference投诉)我的问题:如果我知道我的应用程序不会使用依赖于此共享对象的框