草庐IT

EXPORT_SYMBOL_GPL

全部标签

c++ - 将 export 关键字与模板一起使用

据我了解,可以使用“export”关键字,以便可以通过头文件公开模板类或函数签名,并将实际实现抽象到库文件中。谁能提供一个实用的示例程序来说明如何做到这一点?使用它时是否有任何缺点或需要注意的要点?编辑:基于答案的后续问题。正如答案中提到的那样,'export'在C++0x中已被弃用,即使对于C++03x,编译器也很少支持。鉴于这种情况,如何在lib文件中隐藏实际实现,只通过头文件公开声明,以便最终用户可以知道公开API的签名是什么,但无法访问实现相同的源代码? 最佳答案 注意:这个答案是关于exportpre-C++20的历史使用

c++ - 将 export 关键字与模板一起使用

据我了解,可以使用“export”关键字,以便可以通过头文件公开模板类或函数签名,并将实际实现抽象到库文件中。谁能提供一个实用的示例程序来说明如何做到这一点?使用它时是否有任何缺点或需要注意的要点?编辑:基于答案的后续问题。正如答案中提到的那样,'export'在C++0x中已被弃用,即使对于C++03x,编译器也很少支持。鉴于这种情况,如何在lib文件中隐藏实际实现,只通过头文件公开声明,以便最终用户可以知道公开API的签名是什么,但无法访问实现相同的源代码? 最佳答案 注意:这个答案是关于exportpre-C++20的历史使用

c++ - 架构 x86_64 : Compiling problems 的 undefined symbol

所以我正在尝试开始一项作业,我的教授给了我们一个Main.cpp、Main.h、Scanner.cpp、Scanner.h和一些其他实用程序。我的工作是创建一个相似度类来使用余弦和Jaccard系数比较文档。但是,我似乎无法正确链接项目,因此无法从实际代码开始。在尝试了几个小时来看看我做错了什么之后,我需要用新的眼光来看看我做错了什么,我怀疑这很明显。这里是Main.cpp#include"Main.h"usingnamespacestd;staticconststringTAG="Main:";intmain(intargc,char*argv[]){stringinStreamNa

c++ - 架构 x86_64 : Compiling problems 的 undefined symbol

所以我正在尝试开始一项作业,我的教授给了我们一个Main.cpp、Main.h、Scanner.cpp、Scanner.h和一些其他实用程序。我的工作是创建一个相似度类来使用余弦和Jaccard系数比较文档。但是,我似乎无法正确链接项目,因此无法从实际代码开始。在尝试了几个小时来看看我做错了什么之后,我需要用新的眼光来看看我做错了什么,我怀疑这很明显。这里是Main.cpp#include"Main.h"usingnamespacestd;staticconststringTAG="Main:";intmain(intargc,char*argv[]){stringinStreamNa

c++ - 架构 x86_64 : Which architecture should I use? 的 undefined symbol

我正在尝试在C++中做一些非常简单的事情,但我找不到任何关于如何解决这个问题的信息。甚至我刚刚说的书“只需编译并运行程序”。test.cpp#includeusingnamespacestd;intmain(){cout编译器说:Undefinedsymbolsforarchitecturex86_64:"std::cout",referencedfrom:_maininccVfJHGs.o"std::basic_ostream>&std::operator>(std::basic_ostream>&,charconst*)",referencedfrom:_maininccVfJHG

c++ - 架构 x86_64 : Which architecture should I use? 的 undefined symbol

我正在尝试在C++中做一些非常简单的事情,但我找不到任何关于如何解决这个问题的信息。甚至我刚刚说的书“只需编译并运行程序”。test.cpp#includeusingnamespacestd;intmain(){cout编译器说:Undefinedsymbolsforarchitecturex86_64:"std::cout",referencedfrom:_maininccVfJHGs.o"std::basic_ostream>&std::operator>(std::basic_ostream>&,charconst*)",referencedfrom:_maininccVfJHG

c++ - undefined symbol "vtable for ..."和 "typeinfo for..."?

接近最后一步,但仍有一些奇怪的错误......bash-3.2$makeg++-Wall-c-gMyworld.ccg++-Wall-gsolvePlanningProblem.oPosition.oAStarNode.oPRM.oPRMNode.oWorld.oSingleCircleWorld.oMyworld.oRECTANGLE.oCIRCLE.o-osolvePlanningProblemUndefinedsymbols:"vtableforObstacle",referencedfrom:Obstacle::Obstacle()inMyworld.o"typeinfofor

c++ - undefined symbol "vtable for ..."和 "typeinfo for..."?

接近最后一步,但仍有一些奇怪的错误......bash-3.2$makeg++-Wall-c-gMyworld.ccg++-Wall-gsolvePlanningProblem.oPosition.oAStarNode.oPRM.oPRMNode.oWorld.oSingleCircleWorld.oMyworld.oRECTANGLE.oCIRCLE.o-osolvePlanningProblemUndefinedsymbols:"vtableforObstacle",referencedfrom:Obstacle::Obstacle()inMyworld.o"typeinfofor

c++ - 错误 LNK2019 : unresolved external symbol _main referenced in function ___tmainCRTStartup

我不知道它有什么问题。我找不到错误在哪里,注释掉实现也不能解决错误。头文件#ifndefMAIN_SAVITCH_SEQUENCE_H#defineMAIN_SAVITCH_SEQUENCE_H#include//Providessize_tnamespacemain_savitch_3{classsequence{public://TYPEDEFSandMEMBERCONSTANTStypedefdoublevalue_type;typedefstd::size_tsize_type;staticconstsize_typeCAPACITY=30;//CONSTRUCTORseque

c++ - 错误 LNK2019 : unresolved external symbol _main referenced in function ___tmainCRTStartup

我不知道它有什么问题。我找不到错误在哪里,注释掉实现也不能解决错误。头文件#ifndefMAIN_SAVITCH_SEQUENCE_H#defineMAIN_SAVITCH_SEQUENCE_H#include//Providessize_tnamespacemain_savitch_3{classsequence{public://TYPEDEFSandMEMBERCONSTANTStypedefdoublevalue_type;typedefstd::size_tsize_type;staticconstsize_typeCAPACITY=30;//CONSTRUCTORseque