NoAngel

[SOLVED]Linker errors (unresolved external symbol ...)

Discussion created by NoAngel on Jun 8, 2009
Latest reply on Jun 8, 2009 by NoAngel
MSVS 2008 SP1, trying to build brook samples

I have following errors when building samples from ATI Brook folder (for example, for hello_brook project):

1>------ Build started: Project: hello_brook, Configuration: Release Win32 ------
1>Performing Custom Build Step
1>Compiling...
1>Timer.cpp
1>common.cpp
1>hello_brook.cpp
1>Generating Code...
1>Linking...
1>   Creating library ..\..\..\..\samples\bin\legacy\xp_x86_32\\hello_brook.lib and object ..\..\..\..\samples\bin\legacy\xp_x86_32\\hello_brook.exp
1>hello_brook.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall brt::StreamInterface::readItem(void *,unsigned int *)" (?readItem@StreamInterface@brt@@UAEXPAXPAI@Z)
1>hello_brook.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall brt::StreamInterface::fetchItemPtr(void *,unsigned int *)" (?fetchItemPtr@StreamInterface@brt@@UAEPAXPAXPAI@Z)
1>hello_brook.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall brt::StreamInterface::getIndexedFieldRenderData(unsigned int)" (?getIndexedFieldRenderData@StreamInterface@brt@@UAEPAXI@Z)
1>hello_brook.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall brt::StreamInterface::synchronizeRenderData(void)" (?synchronizeRenderData@StreamInterface@brt@@UAEXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::Kernel::~Kernel(void)" (??1Kernel@brook@@QAE@XZ) referenced in function "public: void __thiscall __hello_brook_check::operator()(class brook::Stream const &,class brook::Stream const &,float)" (??R__hello_brook_check@@QAEXABV?$Stream@M@brook@@0M@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: void __thiscall brook::Kernel::run(struct brook::ArgumentInfo *)const " (?run@Kernel@brook@@QBEXPAUArgumentInfo@2@@Z) referenced in function "public: void __thiscall __hello_brook_check::operator()(class brook::Stream const &,class brook::Stream const &,float)" (??R__hello_brook_check@@QAEXABV?$Stream@M@brook@@0M@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: void __thiscall brook::Kernel::PushConstant(class ConstImpl *)" (?PushConstant@Kernel@brook@@QAEXPAVConstImpl@@@Z) referenced in function "public: void __thiscall __hello_brook_check::operator()(class brook::Stream const &,class brook::Stream const &,float)" (??R__hello_brook_check@@QAEXABV?$Stream@M@brook@@0M@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: void __thiscall brook::Kernel::PushOutput(class StreamImpl *)" (?PushOutput@Kernel@brook@@QAEXPAVStreamImpl@@@Z) referenced in function "public: void __thiscall __hello_brook_check::operator()(class brook::Stream const &,class brook::Stream const &,float)" (??R__hello_brook_check@@QAEXABV?$Stream@M@brook@@0M@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: void __thiscall brook::Kernel::PushStream(class StreamImpl *)" (?PushStream@Kernel@brook@@QAEXPAVStreamImpl@@@Z) referenced in function "public: void __thiscall __hello_brook_check::operator()(class brook::Stream const &,class brook::Stream const &,float)" (??R__hello_brook_check@@QAEXABV?$Stream@M@brook@@0M@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::Kernel::Kernel(void const * * const,enum brook::KernelType)" (??0Kernel@brook@@QAE@QAPBXW4KernelType@1@@Z) referenced in function "public: void __thiscall __hello_brook_check::operator()(class brook::Stream const &,class brook::Stream const &,float)" (??R__hello_brook_check@@QAEXABV?$Stream@M@brook@@0M@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: void __thiscall brook::Kernel::PushReduceStream(class StreamImpl *)" (?PushReduceStream@Kernel@brook@@QAEXPAVStreamImpl@@@Z) referenced in function "public: void __thiscall __hello_brook_sum::operator()(class brook::Stream const &,class brook::Stream const &)" (??R__hello_brook_sum@@QAEXABV?$Stream@M@brook@@0@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: void __thiscall brook::Kernel::PushReduce(class StreamImpl *)" (?PushReduce@Kernel@brook@@QAEXPAVStreamImpl@@@Z) referenced in function "public: void __thiscall __hello_brook_sum::operator()(class brook::Stream const &,float &)" (??R__hello_brook_sum@@QAEXABV?$Stream@M@brook@@AAM@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::StreamData::StreamData(class StreamImpl *)" (??0StreamData@brook@@QAE@PAVStreamImpl@@@Z) referenced in function "public: __thiscall brook::Stream::Stream(class brook::Stream const &)" (??0?$Stream@M@brook@@QAE@ABV01@@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class StreamImpl * __thiscall brook::SystemRT::createStreamImpl(unsigned short,unsigned int *,enum brook::BRformat *,unsigned int)" (?createStreamImpl@SystemRT@brook@@QAEPAVStreamImpl@@GPAIPAW4BRformat@2@I@Z) referenced in function "public: __thiscall brook::Stream::Stream(unsigned short,unsigned int *)" (??0?$Stream@M@brook@@QAE@GPAI@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: static class brook::SystemRT * __cdecl brook::SystemRT::getInstance(void)" (?getInstance@SystemRT@brook@@SAPAV12@XZ) referenced in function "public: __thiscall brook::Stream::Stream(unsigned short,unsigned int *)" (??0?$Stream@M@brook@@QAE@GPAI@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: void __thiscall brook::StreamData::write(void *,char const *)const " (?write@StreamData@brook@@QBEXPAXPBD@Z) referenced in function "public: void __thiscall brook::Stream::write(void *,char const *)const " (?write@?$Stream@M@brook@@QBEXPAXPBD@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class StreamImpl * __thiscall brook::StreamData::getImplObject(void)const " (?getImplObject@StreamData@brook@@QBEPAVStreamImpl@@XZ) referenced in function "public: __thiscall brook::Stream::operator class StreamImpl *(void)const " (??B?$Stream@M@brook@@QBEPAVStreamImpl@@XZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::ConstData::ConstData(void *,enum brook::BRformat,class BaseDevice *,unsigned int)" (??0ConstData@brook@@QAE@PAXW4BRformat@1@PAVBaseDevice@@I@Z) referenced in function "public: __thiscall brook::Constant::Constant(float const &)" (??0?$Constant@M@brook@@QAE@ABM@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class ConstImpl * __thiscall brook::ConstData::getImplObject(void)const " (?getImplObject@ConstData@brook@@QBEPAVConstImpl@@XZ) referenced in function "public: __thiscall brook::Constant::operator class ConstImpl *(void)const " (??B?$Constant@M@brook@@QBEPAVConstImpl@@XZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::StreamData::~StreamData(void)" (??1StreamData@brook@@QAE@XZ) referenced in function "public: void * __thiscall brook::StreamData::`scalar deleting destructor'(unsigned int)" (??_GStreamData@brook@@QAEPAXI@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::ConstData::~ConstData(void)" (??1ConstData@brook@@QAE@XZ) referenced in function "public: void * __thiscall brook::ConstData::`scalar deleting destructor'(unsigned int)" (??_GConstData@brook@@QAEPAXI@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: void __thiscall brook::StreamData::read(void const *,char const *)" (?read@StreamData@brook@@QAEXPBXPBD@Z) referenced in function "public: void __thiscall brook::Stream::read(void const *,char const *)" (?read@?$Stream@M@brook@@QAEXPBXPBD@Z)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::Pass::~Pass(void)" (??1Pass@brook@@QAE@XZ) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::Technique::~Technique(void)" (??1Technique@brook@@QAE@XZ) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::KernelDesc::~KernelDesc(void)" (??1KernelDesc@brook@@QAE@XZ) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::KernelDesc::KernelDesc(class brook::KernelDesc const &)" (??0KernelDesc@brook@@QAE@ABV01@@Z) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class brook::KernelDesc & __thiscall brook::KernelDesc::technique(class brook::Technique &)" (?technique@KernelDesc@brook@@QAEAAV12@AAVTechnique@2@@Z) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::KernelDesc::KernelDesc(void)" (??0KernelDesc@brook@@QAE@XZ) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class brook::Technique & __thiscall brook::Technique::pass(class brook::Pass &)" (?pass@Technique@brook@@QAEAAV12@AAVPass@2@@Z) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class brook::Technique & __thiscall brook::Technique::addressTranslation(void)" (?addressTranslation@Technique@brook@@QAEAAV12@XZ) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::Technique::Technique(void)" (??0Technique@brook@@QAE@XZ) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class brook::Pass & __thiscall brook::Pass::output(int,int,enum brook::AccessType)" (?output@Pass@brook@@QAEAAV12@HHW4AccessType@2@@Z) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class brook::Pass & __thiscall brook::Pass::input(int,int,enum brook::AccessType)" (?input@Pass@brook@@QAEAAV12@HHW4AccessType@2@@Z) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class brook::Pass & __thiscall brook::Pass::constant(int,enum brook::ConstUsage)" (?constant@Pass@brook@@QAEAAV12@HW4ConstUsage@2@@Z) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: class brook::Pass & __thiscall brook::Pass::image(char const *)" (?image@Pass@brook@@QAEAAV12@PBD@Z) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>hello_brook.obj : error LNK2019: unresolved external symbol "public: __thiscall brook::Pass::Pass(char const *)" (??0Pass@brook@@QAE@PBD@Z) referenced in function "void __cdecl `anonymous namespace'::`dynamic initializer for '__hello_brook_check_cal_desc''(void)" (??__E__hello_brook_check_cal_desc@?A0x907f34e6@@YAXXZ)
1>..\..\..\..\samples\bin\legacy\xp_x86_32\\hello_brook.exe : fatal error LNK1120: 36 unresolved externals
1>Build log was saved at "file://e:\Downloads\samples\legacy\apps\hello_brook\built\xp_x86_32\BuildLog.htm"
1>hello_brook - 37 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

cl /?

Microsoft (R) C/C++ Optimizing Compiler Version 15.00.30729.01 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

 

set

 

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\User\AppData\Roaming
BROOKROOT=C:\Program Files (x86)\ATI\ATI Brook+ 1.4.0_beta\
CALROOT=C:\Program Files (x86)\ATI\ATI CAL 1.4.0_beta\
CLASSPATH=.;C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=NOANGELD
ComSpec=C:\Windows\system32\cmd.exe
CUDA_BIN_PATH=C:\CUDA\bin
CUDA_INC_PATH=C:\CUDA\include
CUDA_LIB_PATH=C:\CUDA\lib
DXSDK_DIR=C:\Program Files (x86)\Microsoft DirectX SDK (November 2008)\
FP_NO_HOST_CHECK=NO
Framework35Version=v3.5
FrameworkDir=C:\Windows\Microsoft.NET\Framework64
FrameworkVersion=v2.0.50727
HOMEDRIVE=C:
HOMEPATH=\Users\User
INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ATLMFC\INCLUDE;C:\
Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE;C:\Program Files\Micr
osoft SDKs\Windows\v7.0\include;
LIB=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB\amd64;C:\Pr
ogram Files (x86)\Microsoft Visual Studio 9.0\VC\LIB\amd64;C:\Program Files\Micr
osoft SDKs\Windows\v7.0\lib\x64;
LIBPATH=C:\Windows\Microsoft.NET\Framework64\v3.5;C:\Windows\Microsoft.NET\Frame
work64\v2.0.50727;C:\Windows\Microsoft.NET\Framework64\v3.5;C:\Windows\Microsoft
.NET\Framework64\v2.0.50727;C:\Program Files (x86)\Microsoft Visual Studio 9.0\V
C\ATLMFC\LIB\amd64;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\LIB\amd
64;
LOCALAPPDATA=C:\Users\User\AppData\Local
LOGONSERVER=\\NOANGELD
NUMBER_OF_PROCESSORS=8
NVSDKCUDA_ROOT=C:\CUDA\SDK
OS=Windows_NT
Path=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\amd64;C:\Windows\
Microsoft.NET\Framework64\v3.5;C:\Windows\Microsoft.NET\Framework64\v3.5\Microso
ft .NET Framework 3.5 (Pre-Release Version);C:\Windows\Microsoft.NET\Framework64
\v2.0.50727;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCPackages;C:\
Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files (x8
6)\Microsoft Visual Studio 9.0\Common7\Tools;C:\Program Files (x86)\Microsoft Vi
sual Studio 9.0\Common7\Tools\bin;C:\Program Files\Microsoft SDKs\Windows\v7.0\b
in\x64;C:\Program Files\Microsoft SDKs\Windows\v7.0\bin\win64\x64;C:\Program Fil
es\Microsoft SDKs\Windows\v7.0\bin;C:\Program Files (x86)\ATI\ATI Brook+ 1.4.0_b
eta\sdk\lib;C:\Program Files (x86)\ATI\ATI CAL 1.4.0_beta\lib\lh64;C:\Program Fi
les (x86)\ATI\ATI CAL 1.4.0_beta\lib\lh32;C:\Windows\system32;C:\Windows;C:\Wind
ows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (
x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\QuickTime\QTSys
tem\;C:\CUDA\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 26 Stepping 4, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=1a04
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
QTJAVA=C:\Program Files (x86)\Java\jre6\lib\ext\QTJava.zip
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Windows\TEMP
TMP=C:\Windows\TEMP
USERDOMAIN=NoangelD
USERNAME=User
USERPROFILE=C:\Users\User
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0
windir=C:\Windows
WindowsSdkDir=C:\Program Files\Microsoft SDKs\Windows\v7.0\

cl parameters:

1>cl /I "." /I "C:\Program Files (x86)\ATI\ATI Brook+ 1.4.0_beta\\sdk\include\\" /I "..\..\common" /D "_CRT_SECURE_NO_DEPRECATE" /FD /EHsc /MD /Fo"built\xp_x86_32\\" /Fd"built\xp_x86_32\\vc90.pdb" /c /TP ..\..\common\Timer.cpp

linker parameters:

1>"/OUT:..\..\..\..\samples\bin\legacy\xp_x86_32\\hello_brook.exe" "/LIBPATH:." "/LIBPATH:C:\Program Files (x86)\ATI\ATI Brook+ 1.4.0_beta\\sdk\lib" /MANIFEST "/MANIFESTFILE:built\xp_x86_32\\hello_brook.exe.intermediate.manifest" "/MANIFESTUAC:level='asInvoker' uiAccess='false'" /DYNAMICBASE:NO "C:\Program Files (x86)\ATI\ATI Brook+ 1.4.0_beta\sdk\lib\brook.lib" kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

How can I resolve problem?

Outcomes