草庐IT

unresolved-external

全部标签

c++ - 在 extern C 中使用 _attribute__ ((nothrow)) 有意义吗?

我有一些从C++调用的C代码。header类似于以下内容:#ifndefCLibH#defineCLibH#ifdef__cplusplusextern"C"{#endif//CAPIvoidfoo(void);//...#ifdef__cplusplus}#endif#endif由于我已经在使用externC,添加nothrow编译器属性有什么好处吗?#ifndefCLibH#defineCLibH#ifdef__cplusplusextern"C"{#endif//CAPIvoidfoo(void)__attribute__((nothrow));//...#ifdef__cplu

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

什么是undefinedreference/未解析的外部符号错误?常见原因是什么以及如何修复/预防它们? 最佳答案 编译C++程序需要几个步骤,如2.2(creditstoKeithThompsonforthereference)所指定的那样:Theprecedenceamongthesyntaxrulesoftranslationisspecifiedbythefollowingphases[seefootnote].Physicalsourcefilecharactersaremapped,inanimplementation-

c++ - ILINK32 错误 : Unresolved external '__fastcall System::TObject::NewInstance(System::TMetaClass *)' referenced from XXX. obj 的原因?

我从C++Builder2009的链接器中收到以下错误Unresolvedexternal'__fastcallSystem::TObject::NewInstance(System::TMetaClass*)'referencedfromXXX.obj?我们有一组Delphi文件(.pas)和一组C++Builder文件(.hpp和.obj),其中是从这些.pas文件生成的。一组文件被复制到另一台机器上。两台机器都安装了完全相同的C++Builder2009版本和相同的更新(最新:3+4)。当我在另一台机器上的C++Builder中创建一个空的VCL应用程序并将此集合中的一个obj文

c++ - 如何处理 C++ 中 eclipse 中 Unresolved inclusion

我导入了两个自定义项目:projectA和projectBprojectA中的类包含projectB中的标题但是eclipse总是显示一些黄线和红线来表示Unresolvedinclusion。(我确信关于include的所有语法和设置都是正确的,因为它们是已经开发和使用了很长时间的项目)怎么处理?我是否需要右键单击项目并执行index->​​rebuild或其他操作? 最佳答案 你可以在projectA中设置projectB的头文件路径:Project->Properties->C/C++Build->Settings->Comp

c++ - 使用 C++ SFML Unresolved LNK 2001

我正在尝试使用SFML库在C++中制作一个在屏幕上移动的角色。每次制作项目时,我都会遇到相同的LNK2001错误。请向我解释我做错了什么以及我该如何解决。我仍然是初学者,所以如果您有任何关于修复错误或编写代码的建议,我会非常乐意。main.cpp:#include"Game.cpp"#include"Game.h"intmain(){GameGame;Game.GameRun();}游戏.h:#pragmaonce#include#include"Character.h"classGame{public:voidGameRun();voidUpdateGame(Characterpla

c++ - 删除内联函数调用导致 Unresolved external symbol 错误

我试图证明您需要在所有使用它的TU中定义一个inline函数。但是,以下代码编译良好(MSVS2010):inc.hinlinevoidfoo();测试.cpp#include"inc.h"voidx();intmain(){foo();//测试2.cpp#include"inc.h"voidx(){foo();}请注意函数调用是为了防止优化。这会编译,虽然foo被声明为inline并且仅在test.cpp中定义,但也在test2.cpp中使用>.如果我在main()中注释掉对foo的调用,我会得到预期的错误。"void__cdeclfoo(void)"(?foo@@YAXXZ)ref

c++ - 我应该在 v8::External 中手动删除指针吗?

Localtpl=ObjectTemplate::New(isolate);tpl->SetInternalFieldCount(1);Localret=tpl->NewInstance();TestExternal*ex=newTestExternal();ret->SetInternalField(0,External::New(isolate,ex));当ret不再使用时,我是否应该手动删除ex指针?表明我应该或不应该这样做的证据源代码在哪里? 最佳答案 是的,C++需要手动内存管理:如果您使用new手动创建一个对象,那么您还

c++ - 'extern' 关键字有问题

我在cpp文件中有一组全局变量和一个方法。inta;intb;intc;voidDoStuff(){}在头文件中,我已经用extern关键字明确地声明了它们。我的问题是当我在另一个C++文件中包含头文件时,我不能使用外部变量和方法。它给出了一个链接器错误,指出方法和变量的errorLNK2001:unresolvedexternalsymbol。我在这里做错了什么??PS:DoStuff()方法填充变量。所有头文件和cpp文件都在同一个项目文件夹中。谢谢! 最佳答案 试试这个在标题中定义这些变量,而不是仅仅声明它们。externin

c++ - 带有 OO 的模板导致 Unresolved external symbol 问题

我没有.cpp文件,因为我正在使用模板。但是还是遇到了unresolvedexternalsymbol的问题。有人知道原因吗?如果你能帮助我,非常感谢。templateclassSQLiteHelper{public:staticSQLiteHelper*getInstance(T*factory){if(NULL==m_sInstance){m_sInstance=newSQLiteHelper(factory);}returnm_sInstance;}private:SQLiteHelper(T*factory){m_factory=factory;}private:staticS

c++ - 将 HDF5 库链接到 Visual C++ DLL 项目 : unresolved external symbol __imp__*

我正在使用MSVisualC++2010Express构建一个插件,我想包含来自HDF5library的功能.我尝试过使用CMake从源代码构建HDF5,并安装预编译库(HDF5-1.8.7_CMake_x86_shared.zip对于VC2008)。对于任一构建目录/方法,我都修改了我的项目属性:C/C++>General>AdditionalIncludeDirectories:为HDF5添加includeLinker>General>AdditionalLibraryDirectories:为HDF5添加lib这是我的DLL模块的片段:#include"cpp/H5Cpp.h"s