错误LNK2019:未解析的外部符号ITK_user_main
error LNK2019: unresolved external symbol ITK_user_main
我正在尝试构建一个Teamcenter ITK项目,该项目由我在BMIDE中创建的SOA生成。我在SOA服务中调用的方法应该从Teamcenter检索所有保存的查询。我添加了所有我认为可能需要的库和依赖项。但我仍然会遇到无法理解和不知道如何解决的错误。
我生成的.hxx
文件如下:
#ifndef TEAMCENTER_SERVICES_QUERYBUILDERLIB_2014_06_QUERYBUILDERSVC_IMPL_HXX
#define TEAMCENTER_SERVICES_QUERYBUILDERLIB_2014_06_QUERYBUILDERSVC_IMPL_HXX
#include <querybuildersvc1406.hxx>
#include <QueryBuilderLib_exports.h>
namespace Q2
{
namespace Soa
{
namespace QueryBuilderLib
{
namespace _2014_06
{
class QueryBuilderSvcImpl;
}
}
}
}
class SOAQUERYBUILDERLIB_API Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvcImpl : public Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvc
{
public:
virtual QueryBuilderSvcImpl::SavedQueriesResponse getSavedQueries ( );
};
#include <QueryBuilderLib_undef.h>
#endif
这是我生成的.cxx
文件,其中包含我添加到方法中的实现:
#include <unidefs.h>
#if defined(SUN)
#include <unistd.h>
#endif
#include "querybuildersvc1406impl.hxx"
using namespace Q2::Soa::QueryBuilderLib::_2014_06;
using namespace Teamcenter::Soa::Server;
#include <qry/qry.h>
QueryBuilderSvcImpl::SavedQueriesResponse QueryBuilderSvcImpl::getSavedQueries() {
ServiceData svcData;
SavedQueriesResponse response;
std::vector<QueryObject> savedQueries;
int query_count;
tag_t* query_tags;
char* queryName;
char* queryDescription;
int i;
QRY_extent(&query_count, &query_tags);
for (i = 0; i < query_count; i++) {
QRY_ask_name2(query_tags[i], &queryName);
QRY_ask_description2(query_tags[i], &queryDescription);
// create a smart pointer of Item Type from object tag
BusinessObjectRef<Teamcenter::ImanQuery> query(query_tags[i]);
QueryObject tmpQueryObject;
// query
tmpQueryObject.query = query;
// Name
std::string strName(queryName);
tmpQueryObject.queryName = strName;
// Description
std::string strDescription(queryDescription);
tmpQueryObject.queryDescription = strDescription;
savedQueries.push_back(tmpQueryObject);
}
response.services = svcData;
response.queries = savedQueries;
return response;
}
在构建解决方案时,我在VS10中得到以下错误:
1>------ Build started: Project: QueryBuilderProject, Configuration: Debug x64 ------
1>Build started 3/30/2015 9:27:21 AM.
1>InitializeBuildStatus:
1> Touching "x64DebugQueryBuilderProject.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>querybuildersvc1406impl.obj : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in itk_main.obj
1> Creating library E:TC_INSTALLSiemensTeamcenter10bmideworkspace10000.1.0QueryBuilderProjsrcserverQ2SoaQueryBuilderLibx64DebugQueryBuilderProject.lib and object E:TC_INSTALLSiemensTeamcenter10bmideworkspace10000.1.0QueryBuilderProjsrcserverQ2SoaQueryBuilderLibx64DebugQueryBuilderProject.exp
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>itk_main.obj : error LNK2019: unresolved external symbol ITK_user_main referenced in function "int __cdecl ms_exception_handling_wrapper(int,char * *)" (?ms_exception_handling_wrapper@@YAHHPEAPEAD@Z)
1>querybuildersvc1406impl.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl Teamcenter::Soa::Server::PartialErrors::addErrorStack(class BusinessObjectRef<class Teamcenter::BusinessObject>)" (?addErrorStack@PartialErrors@Server@Soa@Teamcenter@@UEAAXV?$BusinessObjectRef@VBusinessObject@Teamcenter@@@@@Z)
1>querybuildersvc1406impl.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl Teamcenter::Schemas::Soa::_2006_03::Exceptions::ServiceException::ServiceException(class Teamcenter::Schemas::Soa::_2006_03::Exceptions::ServiceException const &)" (__imp_??0ServiceException@Exceptions@_2006_03@Soa@Schemas@Teamcenter@@QEAA@AEBV012345@@Z) referenced in function "public: __cdecl Teamcenter::Soa::Server::ServiceException::ServiceException(class Teamcenter::Soa::Server::ServiceException const &)" (??0ServiceException@Server@Soa@Teamcenter@@QEAA@AEBV0123@@Z)
1>querybuildersvc1406impl.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class Teamcenter::Schemas::Soa::_2006_03::Exceptions::ServiceException & __cdecl Teamcenter::Schemas::Soa::_2006_03::Exceptions::ServiceException::operator=(class Teamcenter::Schemas::Soa::_2006_03::Exceptions::ServiceException const &)" (__imp_??4ServiceException@Exceptions@_2006_03@Soa@Schemas@Teamcenter@@QEAAAEAV012345@AEBV012345@@Z) referenced in function "public: class Teamcenter::Soa::Server::ServiceException & __cdecl Teamcenter::Soa::Server::ServiceException::operator=(class Teamcenter::Soa::Server::ServiceException const &)" (??4ServiceException@Server@Soa@Teamcenter@@QEAAAEAV0123@AEBV0123@@Z)
1>querybuildersvc1406impl.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl Teamcenter::Soa::Server::ServiceData::~ServiceData(void)" (??1ServiceData@Server@Soa@Teamcenter@@UEAA@XZ) referenced in function "public: virtual struct Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvc::SavedQueriesResponse __cdecl Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvcImpl::getSavedQueries(void)" (?getSavedQueries@QueryBuilderSvcImpl@_2014_06@QueryBuilderLib@Soa@Q2@@UEAA?AUSavedQueriesResponse@QueryBuilderSvc@2345@XZ)
1>querybuildersvc1406impl.obj : error LNK2019: unresolved external symbol "public: class Teamcenter::Soa::Server::ServiceData & __cdecl Teamcenter::Soa::Server::ServiceData::operator=(class Teamcenter::Soa::Server::ServiceData const &)" (??4ServiceData@Server@Soa@Teamcenter@@QEAAAEAV0123@AEBV0123@@Z) referenced in function "public: virtual struct Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvc::SavedQueriesResponse __cdecl Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvcImpl::getSavedQueries(void)" (?getSavedQueries@QueryBuilderSvcImpl@_2014_06@QueryBuilderLib@Soa@Q2@@UEAA?AUSavedQueriesResponse@QueryBuilderSvc@2345@XZ)
1>querybuildersvc1406impl.obj : error LNK2019: unresolved external symbol "public: __cdecl Teamcenter::Soa::Server::ServiceData::ServiceData(void)" (??0ServiceData@Server@Soa@Teamcenter@@QEAA@XZ) referenced in function "public: virtual struct Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvc::SavedQueriesResponse __cdecl Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvcImpl::getSavedQueries(void)" (?getSavedQueries@QueryBuilderSvcImpl@_2014_06@QueryBuilderLib@Soa@Q2@@UEAA?AUSavedQueriesResponse@QueryBuilderSvc@2345@XZ)
1>querybuildersvc1406impl.obj : error LNK2019: unresolved external symbol "public: __cdecl Teamcenter::Soa::Server::ServiceData::ServiceData(class Teamcenter::Soa::Server::ServiceData const &)" (??0ServiceData@Server@Soa@Teamcenter@@QEAA@AEBV0123@@Z) referenced in function "public: __cdecl Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvc::SavedQueriesResponse::SavedQueriesResponse(struct Q2::Soa::QueryBuilderLib::_2014_06::QueryBuilderSvc::SavedQueriesResponse const &)" (??0SavedQueriesResponse@QueryBuilderSvc@_2014_06@QueryBuilderLib@Soa@Q2@@QEAA@AEBU012345@@Z)
1>querybuildersvc1406impl.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl Teamcenter::Soa::Common::Xml::BaseObject::unref(void)" (__imp_?unref@BaseObject@Xml@Common@Soa@Teamcenter@@QEAAXXZ) referenced in function "public: __cdecl Teamcenter::Soa::Common::AutoPtr<class Teamcenter::Schemas::Soa::_2006_03::Base::PartialErrors>::~AutoPtr<class Teamcenter::Schemas::Soa::_2006_03::Base::PartialErrors>(void)" (??1?$AutoPtr@VPartialErrors@Base@_2006_03@Soa@Schemas@Teamcenter@@@Common@Soa@Teamcenter@@QEAA@XZ)
1>E:TC_INSTALLSiemensTeamcenter10bmideworkspace10000.1.0QueryBuilderProjsrcserverQ2SoaQueryBuilderLibx64DebugQueryBuilderProject.exe : fatal error LNK1120: 9 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.23
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
当我再次从BMIDE完成所有工作时,这个问题终于得到了解决。我想这是因为我忘记在BMIDE项目的
Makefile
的# Platform specific options and commands
下的LINK_FLAGS
条目中添加-dll libqry.lib
。
--riroo
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 将无符号char*转换为std::istream*C++
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- vscode g++链路故障:体系结构x86_64的未定义符号
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 使用gcc从静态链接的文件中查找可选符号
- C++中无符号字符溢出
- 使用无符号字符数组有效存储内存
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- VC++本机单元测试,找不到调试符号
- 为什么我必须在C++中添加一个赋值符号来声明一个数组
- 检查TCHAR数组输入是否为带符号整数C++
- 用符号版本替换对函数的所有调用
- 未解析的外部符号_MsiLocateComponentW@12.
- 如何打印boost多精度128位无符号整数
- VTK / ITK/ QT - 未解决的外部符号错误 (LNK2001)
- 错误LNK2019(未解析的外部符号)在VS2008与ITK和FFTW