|
|
Home » U++ TheIDE » U++ TheIDE: Compiling, Linking, Debugging of your packages » UWord class: link problem
UWord class: link problem [message #43401] |
Fri, 25 July 2014 11:25 |
|
forlano
Messages: 1189 Registered: March 2006 Location: Italy
|
Senior Contributor |
|
|
Hello,
I am having weird problems that I am not able to explain. Let me spend some words to let you understand my problem.
With my U++ 7282, MSVC 9 compiler, I can compile and run the UWord package.
I would like to use that class in my own app (I like the pdf export function). I splitted the UWord.cpp in a UWord.h that looks like:
#ifndef _UWord_UWord_h_
#define _UWord_UWord_h_
#include <RichEdit/RichEdit.h>
#include <PdfDraw/PdfDraw.h>
using namespace Upp;
//#define IMAGECLASS UWordImg
//#define IMAGEFILE <UWord/UWord.iml>
//#include <Draw/iml.h>
//I use my own pdf icon
class UWord : public TopWindow {
public:
virtual void DragAndDrop(Point, PasteClip& d);
virtual void FrameDragAndDrop(Point, PasteClip& d);
protected:
RichEdit editor;
MenuBar menubar;
ToolBar toolbar;
StatusBar statusbar;
String filename;
static LRUList& lrufile() { static LRUList l; return l; }
void OpenFile(const String& fn);
void New();
void Open();
void Save0();
void Save();
void SaveAs();
void Print();
void Pdf();
void About();
void Destroy();
void SetBar();
void FileBar(Bar& bar);
void AboutMenu(Bar& bar);
void MainMenu(Bar& bar);
void MainBar(Bar& bar);
public:
typedef UWord CLASSNAME;
void Load(const String& filename);
static void SerializeApp(Stream& s);
UWord();
};
#endif
The other file, UWord.cpp, contains the rest of the original UWord.cpp file with, of course, the line
The original package splitted in two files continue to compile and run perfectly.
To integrate in in my app I have:
1) commented
[code]
GUI_APP_MAIN
{/code]
in UWord.cpp
2) added UWord.h and UWord.cpp to my app;
3) added
in those few cpp file that use the class UWord.
When compile there are no syntax error. However appear a lot of link error regarding PdfDraw
UWord.obj : error LNK2019: unresolved external symbol "public: void __thiscall Upp::PdfDraw::Init(int,in
t,int,bool)" (?Init@PdfDraw@Upp@@QAEXHHH_N@Z) referenced in function "public: __thiscall Upp::PdfDraw::P
dfDraw(struct Upp::Size_<int>,bool)" (??0PdfDraw@Upp@@QAE@U?$Size_@H@1@_N@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual unsigned long __thiscall Upp::Pdf
Draw::GetInfo(void)const " (?GetInfo@PdfDraw@Upp@@UBEKXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual struct Upp::Size_<int> __thiscall
Upp::PdfDraw::GetPageSize(void)const " (?GetPageSize@PdfDraw@Upp@@UBE?AU?$Size_@H@2@XZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Sta
rtPage(void)" (?StartPage@PdfDraw@Upp@@UAEXXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::End
Page(void)" (?EndPage@PdfDraw@Upp@@UAEXXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Beg
inOp(void)" (?BeginOp@PdfDraw@Upp@@UAEXXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::End
Op(void)" (?EndOp@PdfDraw@Upp@@UAEXXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Off
setOp(struct Upp::Point_<int>)" (?OffsetOp@PdfDraw@Upp@@UAEXU?$Point_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::Cli
pOp(struct Upp::Rect_<int> const &)" (?ClipOp@PdfDraw@Upp@@UAE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::Cli
poffOp(struct Upp::Rect_<int> const &)" (?ClipoffOp@PdfDraw@Upp@@UAE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::Exc
ludeClipOp(struct Upp::Rect_<int> const &)" (?ExcludeClipOp@PdfDraw@Upp@@UAE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::Int
ersectClipOp(struct Upp::Rect_<int> const &)" (?IntersectClipOp@PdfDraw@Upp@@UAE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::IsP
aintingOp(struct Upp::Rect_<int> const &)const " (?IsPaintingOp@PdfDraw@Upp@@UBE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wRectOp(int,int,int,int,class Upp::Color)" (?DrawRectOp@PdfDraw@Upp@@UAEXHHHHVColor@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wImageOp(int,int,int,int,class Upp::Image const &,struct Upp::Rect_<int> const &,class Upp::Color)" (?Dr
awImageOp@PdfDraw@Upp@@UAEXHHHHABVImage@2@ABU?$Rect_@H@2@VColor@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wLineOp(int,int,int,int,int,class Upp::Color)" (?DrawLineOp@PdfDraw@Upp@@UAEXHHHHHVColor@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wPolyPolylineOp(struct Upp::Point_<int> const *,int,int const *,int,int,class Upp::Color,class Upp::Colo
r)" (?DrawPolyPolylineOp@PdfDraw@Upp@@UAEXPBU?$Point_@H@2@HPBHHHVColor@2@2@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wPolyPolyPolygonOp(struct Upp::Point_<int> const *,int,int const *,int,int const *,int,class Upp::Color,
int,class Upp::Color,unsigned __int64,class Upp::Color)" (?DrawPolyPolyPolygonOp@PdfDraw@Upp@@UAEXPB
U?$Point_@H@2@HPBHH1HVColor@2@H2_K2@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wArcOp(struct Upp::Rect_<int> const &,struct Upp::Point_<int>,struct Upp::Point_<int>,int,class Upp::Col
or)" (?DrawArcOp@PdfDraw@Upp@@UAEXABU?$Rect_@H@2@U?$Point_@H@2@1HVColor@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wEllipseOp(struct Upp::Rect_<int> const &,class Upp::Color,int,class Upp::Color)" (?DrawEllipseOp@PdfDra
w@Upp@@UAEXABU?$Rect_@H@2@VColor@2@H1@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wTextOp(int,int,int,wchar_t const *,class Upp::Font,class Upp::Color,int,int const *)" (?DrawTextOp@PdfD
raw@Upp@@UAEXHHHPB_WVFont@2@VColor@2@HPBH@Z)
UWord.obj : error LNK2019: unresolved external symbol "public: class Upp::String __thiscall Upp::PdfDraw
::Finish(void)" (?Finish@PdfDraw@Upp@@QAE?AVString@2@XZ) referenced in function "protected: void __thisc
all UWord::Pdf(void)" (?Pdf@UWord@@IAEXXZ)
C:\upp\out\MyApps\MSC9.Gui\Vega6.exe : fatal error LNK1120: 22 unresolved externals
Does anybody knows why? It seems there is some collision with my code somewhere. What may prevent PdfDraw to work correctly?
Thanks a lot,
Luigi
|
|
|
Re: UWord class: link problem [message #43402 is a reply to message #43401] |
Fri, 25 July 2014 12:32 |
|
Hi Luigi,
Silly question, but I have to ask first: Do you have PdfDraw added to your package? You'll also need RichEdit, plugin/jpg and obviously CtrlLib, as all of them are used by UWord.
If that is not the problem, we can investigate further..
Best regards,
Honza
|
|
|
|
|
|
Re: UWord class: link problem [message #43411 is a reply to message #43409] |
Fri, 25 July 2014 20:52 |
|
forlano
Messages: 1189 Registered: March 2006 Location: Italy
|
Senior Contributor |
|
|
[quote title=dolik.rce wrote on Fri, 25 July 2014 20:01]Could you please also post full build output?
/quote]
Here it is
----- Report ( GUI MSC9 WIN32 MSC ) (1 / 20)
----- RichEdit ( GUI MSC9 WIN32 MSC ) (2 / 20)
----- GridCtrl ( GUI MSC9 WIN32 MSC ) (3 / 20)
----- plugin/ftp ( GUI MSC9 WIN32 MSC ) (4 / 20)
----- plugin/gif ( GUI MSC9 WIN32 MSC ) (5 / 20)
----- Web ( GUI MSC9 WIN32 MSC ) (6 / 20)
----- plugin/pcre ( GUI MSC9 WIN32 MSC ) (7 / 20)
----- ZermeloRank ( GUI MSC9 WIN32 MSC ) (8 / 20)
----- plugin/zip ( GUI MSC9 WIN32 MSC ) (9 / 20)
----- RepGen ( GUI MSC9 WIN32 MSC ) (10 / 20)
----- CtrlLib ( GUI MSC9 WIN32 MSC ) (11 / 20)
----- RichText ( GUI MSC9 WIN32 MSC ) (12 / 20)
----- CtrlCore ( GUI MSC9 WIN32 MSC ) (13 / 20)
----- Draw ( GUI MSC9 WIN32 MSC ) (14 / 20)
----- plugin/bmp ( GUI MSC9 WIN32 MSC ) (15 / 20)
----- Core ( GUI MSC9 WIN32 MSC ) (16 / 20)
----- plugin/z ( GUI MSC9 WIN32 MSC ) (17 / 20)
----- plugin/jpg ( GUI MSC9 WIN32 MSC ) (18 / 20)
----- plugin/png ( GUI MSC9 WIN32 MSC ) (19 / 20)
----- Vega6 ( GUI MAIN MSC9 WIN32 MSC ) (20 / 20)
Vega6.rc
main.cpp
Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385
Copyright (C) Microsoft Corporation. All rights reserved.
CheckLicense.cpp
VegaMenus.cpp
RegistrationOnline.cpp
ImportExport.cpp
C:\MyApps\Vega6\ImportExport.cpp(943) : warning C4244: '+=' : conversion from 'double' to 'float', possi
ble loss of data
C:\MyApps\Vega6\ImportExport.cpp(947) : warning C4244: '+=' : conversion from 'double' to 'float', possi
ble loss of data
C:\MyApps\Vega6\ImportExport.cpp(1191) : warning C4244: '+=' : conversion from 'double' to 'float', poss
ible loss of data
C:\MyApps\Vega6\ImportExport.cpp(1195) : warning C4244: '+=' : conversion from 'double' to 'float', poss
ible loss of data
VegaTab1.cpp
VegaTab3.cpp
BrowseDB.cpp
Tournament.cpp
C:\MyApps\Vega6\Tournament.cpp(2540) : warning C4244: '+=' : conversion from 'double' to 'float', possib
le loss of data
C:\MyApps\Vega6\Tournament.cpp(2542) : warning C4244: '+=' : conversion from 'double' to 'float', possib
le loss of data
C:\MyApps\Vega6\Tournament.cpp(2543) : warning C4244: '+=' : conversion from 'double' to 'float', possib
le loss of data
C:\MyApps\Vega6\Tournament.cpp(2545) : warning C4244: '+=' : conversion from 'double' to 'float', possib
le loss of data
c:\myapps\vega6\tournament.cpp(2751) : warning C4715: 'RoundData::GetTieBreakResult' : not all control p
aths return a value
VegaTab4.cpp
Sort.cpp
HortSystem.cpp
Newtournament.cpp
PublishWebSite.cpp
MakeBadge.cpp
FilterDB.cpp
UWord.cpp
ImproveColors.cpp
Rankgroup.cpp
MakeGroups.cpp
AcceleratedRound.cpp
PairingPlugin.cpp
Festival.cpp
BalancedBerger.cpp
C:\MyApps\Vega6\BalancedBerger.cpp(51) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(52) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(62) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(64) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(84) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(170) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(171) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(455) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(456) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(472) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(473) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(481) : warning C4018: '<' : signed/unsigned mismatch
C:\MyApps\Vega6\BalancedBerger.cpp(482) : warning C4018: '<' : signed/unsigned mismatch
c:\myapps\vega6\balancedberger.cpp(177) : warning C4715: 'BTD::find' : not all control paths return a va
lue
c:\myapps\vega6\balancedberger.cpp(462) : warning C4715: 'FBTD::find' : not all control paths return a v
alue
RoundRobin.cpp
C:\MyApps\Vega6\RoundRobin.cpp(376) : warning C4244: '=' : conversion from 'double' to 'float', possible
loss of data
C:\MyApps\Vega6\RoundRobin.cpp(387) : warning C4244: '=' : conversion from 'double' to 'float', possible
loss of data
C:\MyApps\Vega6\RoundRobin.cpp(402) : warning C4244: '=' : conversion from 'double' to 'float', possible
loss of data
C:\MyApps\Vega6\RoundRobin.cpp(432) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundRobin.cpp(433) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
c:\myapps\vega6\roundrobin.cpp(98) : warning C4700: uninitialized local variable 'fbtd' used
ForlanoScoreSystem.cpp
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(399) : warning C4244: '=' : conversion from 'double' to 'float',
possible loss of data
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(334) : warning C4101: 'w_n' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(334) : warning C4101: 'W' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(335) : warning C4101: 'x' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(335) : warning C4101: 'idopp' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(336) : warning C4101: 'index' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(335) : warning C4101: 'r' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(609) : warning C4244: '=' : conversion from 'double' to 'float',
possible loss of data
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(450) : warning C4101: 'w_n' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(450) : warning C4101: 'W' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(451) : warning C4101: 'x' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(451) : warning C4101: 'idopp' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(452) : warning C4101: 'index' : unreferenced local variable
C:\MyApps\Vega6\ForlanoScoreSystem.cpp(451) : warning C4101: 'r' : unreferenced local variable
ffifo.cpp
RoundSwiss.cpp
C:\MyApps\Vega6\RoundSwiss.cpp(326) : warning C4101: 'i' : unreferenced local variable
C:\MyApps\Vega6\RoundSwiss.cpp(326) : warning C4101: 'k' : unreferenced local variable
C:\MyApps\Vega6\RoundSwiss.cpp(604) : warning C4244: '=' : conversion from 'double' to 'float', possible
loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(612) : warning C4244: '=' : conversion from 'double' to 'float', possible
loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(619) : warning C4244: '=' : conversion from 'double' to 'float', possible
loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(625) : warning C4244: '=' : conversion from 'double' to 'float', possible
loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(664) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(665) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(678) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(679) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(680) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(681) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(692) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(727) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(728) : warning C4244: '+=' : conversion from 'double' to 'float', possibl
e loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(786) : warning C4244: '=' : conversion from 'double' to 'float', possible
loss of data
C:\MyApps\Vega6\RoundSwiss.cpp(788) : warning C4244: '=' : conversion from 'double' to 'float', possible
loss of data
ManualPairing.cpp
flist.cpp
swissDubov9.cpp
C:\MyApps\Vega6\swissDubov9.cpp(1783) : warning C4101: 'i' : unreferenced local variable
pairing88.cpp
SwissEasyLim.cpp
swissUSCF9.cpp
SwissAmalfiDirect.cpp
c:\myapps\vega6\swissamalfidirect.cpp(260) : warning C4715: 'SvizzeroAmalfi::PairRemainedPlayers' : not
all control paths return a value
c:\myapps\vega6\swissamalfidirect.cpp(427) : warning C4715: 'SvizzeroAmalfiColor::PairRemainedPlayers' :
not all control paths return a value
c:\myapps\vega6\swissamalfidirect.cpp(68) : warning C4700: uninitialized local variable 'opponent' used
swissLim6.cpp
MatchingRoomMate.cpp
swissAmalfi.cpp
C:\MyApps\Vega6\swissAmalfi.cpp(15) : warning C4101: 'isDoneGroupPairing' : unreferenced local variable
C:\MyApps\Vega6\swissAmalfi.cpp(16) : warning C4101: 'G' : unreferenced local variable
Weighted.cpp
C:\MyApps\Vega6\Weighted.cpp(58) : warning C4101: 'p' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(55) : warning C4101: 'ranknode' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(136) : warning C4101: 'H' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(136) : warning C4101: 'ij' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(263) : warning C4244: '=' : conversion from 'double' to 'int', possible los
s of data
C:\MyApps\Vega6\Weighted.cpp(238) : warning C4101: 'H' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(238) : warning C4101: 'ij' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(357) : warning C4244: '=' : conversion from 'float' to 'int', possible loss
of data
C:\MyApps\Vega6\Weighted.cpp(395) : warning C4244: '=' : conversion from 'double' to 'int', possible los
s of data
C:\MyApps\Vega6\Weighted.cpp(331) : warning C4101: 'Sj' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(329) : warning C4101: 'ij' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(331) : warning C4101: 'N' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(331) : warning C4101: 'H2' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(331) : warning C4101: 'O' : unreferenced local variable
C:\MyApps\Vega6\Weighted.cpp(331) : warning C4101: 'H1' : unreferenced local variable
c:\myapps\vega6\weighted.cpp(395) : warning C4700: uninitialized local variable 'rp' used
SwissGroup.cpp
USCFreport.cpp
ECFReport.cpp
FEDAreport.cpp
Nationalreport.cpp
GERreport.cpp
NZCFreport.cpp
xmlParser.cpp
C:\MyApps\Vega6\Fidereport.cpp(2840) : warning C4244: 'initializing' : conversion from 'double' to 'floa
t', possible loss of data
Fidereport.cpp
Vega6: 49 file(s) built in (5:29.73), 6729 msecs / file, duration = 337914 msecs, parallelization 100%
Linking...
UWord.obj : error LNK2019: unresolved external symbol "private: void __thiscall Upp::PdfDraw::Init(int,i
nt,int,bool)" (?Init@PdfDraw@Upp@@AAEXHHH_N@Z) referenced in function "public: __thiscall Upp::PdfDraw::
PdfDraw(struct Upp::Size_<int>,bool)" (??0PdfDraw@Upp@@QAE@U?$Size_@H@1@_N@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual unsigned long __thiscall Upp::Pdf
Draw::GetInfo(void)const " (?GetInfo@PdfDraw@Upp@@UBEKXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual struct Upp::Size_<int> __thiscall
Upp::PdfDraw::GetPageSize(void)const " (?GetPageSize@PdfDraw@Upp@@UBE?AU?$Size_@H@2@XZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Sta
rtPage(void)" (?StartPage@PdfDraw@Upp@@UAEXXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::End
Page(void)" (?EndPage@PdfDraw@Upp@@UAEXXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Beg
inOp(void)" (?BeginOp@PdfDraw@Upp@@UAEXXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::End
Op(void)" (?EndOp@PdfDraw@Upp@@UAEXXZ)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Off
setOp(struct Upp::Point_<int>)" (?OffsetOp@PdfDraw@Upp@@UAEXU?$Point_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::Cli
pOp(struct Upp::Rect_<int> const &)" (?ClipOp@PdfDraw@Upp@@UAE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::Cli
poffOp(struct Upp::Rect_<int> const &)" (?ClipoffOp@PdfDraw@Upp@@UAE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::Exc
ludeClipOp(struct Upp::Rect_<int> const &)" (?ExcludeClipOp@PdfDraw@Upp@@UAE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::Int
ersectClipOp(struct Upp::Rect_<int> const &)" (?IntersectClipOp@PdfDraw@Upp@@UAE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Upp::PdfDraw::IsP
aintingOp(struct Upp::Rect_<int> const &)const " (?IsPaintingOp@PdfDraw@Upp@@UBE_NABU?$Rect_@H@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wRectOp(int,int,int,int,class Upp::Color)" (?DrawRectOp@PdfDraw@Upp@@UAEXHHHHVColor@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wImageOp(int,int,int,int,class Upp::Image const &,struct Upp::Rect_<int> const &,class Upp::Color)" (?Dr
awImageOp@PdfDraw@Upp@@UAEXHHHHABVImage@2@ABU?$Rect_@H@2@VColor@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wLineOp(int,int,int,int,int,class Upp::Color)" (?DrawLineOp@PdfDraw@Upp@@UAEXHHHHHVColor@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wPolyPolylineOp(struct Upp::Point_<int> const *,int,int const *,int,int,class Upp::Color,class Upp::Colo
r)" (?DrawPolyPolylineOp@PdfDraw@Upp@@UAEXPBU?$Point_@H@2@HPBHHHVColor@2@2@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wPolyPolyPolygonOp(struct Upp::Point_<int> const *,int,int const *,int,int const *,int,class Upp::Color,
int,class Upp::Color,unsigned __int64,class Upp::Color)" (?DrawPolyPolyPolygonOp@PdfDraw@Upp@@UAEXPBU?$P
oint_@H@2@HPBHH1HVColor@2@H2_K2@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wArcOp(struct Upp::Rect_<int> const &,struct Upp::Point_<int>,struct Upp::Point_<int>,int,class Upp::Col
or)" (?DrawArcOp@PdfDraw@Upp@@UAEXABU?$Rect_@H@2@U?$Point_@H@2@1HVColor@2@@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wEllipseOp(struct Upp::Rect_<int> const &,class Upp::Color,int,class Upp::Color)" (?DrawEllipseOp@PdfDra
w@Upp@@UAEXABU?$Rect_@H@2@VColor@2@H1@Z)
UWord.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Upp::PdfDraw::Dra
wTextOp(int,int,int,wchar_t const *,class Upp::Font,class Upp::Color,int,int const *)" (?DrawTextOp@PdfD
raw@Upp@@UAEXHHHPB_WVFont@2@VColor@2@HPBH@Z)
UWord.obj : error LNK2019: unresolved external symbol "public: class Upp::String __thiscall Upp::PdfDraw
::Finish(void)" (?Finish@PdfDraw@Upp@@QAE?AVString@2@XZ) referenced in function "protected: void __thisc
all UWord::Pdf(void)" (?Pdf@UWord@@IAEXXZ)
C:\upp\out\MyApps\MSC9.Gui\Vega6.exe : fatal error LNK1120: 22 unresolved externals
In the top list I do not see the library PdfDraw.
Instead if I compile UWord I get
----- CtrlLib ( GUI MSC9 WIN32 MSC ) (1 / 12)
----- RichEdit ( GUI MSC9 WIN32 MSC ) (2 / 12)
----- PdfDraw ( GUI MSC9 WIN32 MSC ) (3 / 12)
----- plugin/jpg ( GUI MSC9 WIN32 MSC ) (4 / 12)
----- CtrlCore ( GUI MSC9 WIN32 MSC ) (5 / 12)
----- Draw ( GUI MSC9 WIN32 MSC ) (6 / 12)
----- plugin/bmp ( GUI MSC9 WIN32 MSC ) (7 / 12)
----- RichText ( GUI MSC9 WIN32 MSC ) (8 / 12)
----- Core ( GUI MSC9 WIN32 MSC ) (9 / 12)
----- plugin/z ( GUI MSC9 WIN32 MSC ) (10 / 12)
----- plugin/png ( GUI MSC9 WIN32 MSC ) (11 / 12)
----- UWord ( GUI MAIN MSC9 WIN32 MSC ) (12 / 12)
Linking...
C:\upp\out\examples\MSC9.Gui\UWord.exe (1819136 B) linked in (0:03.58)
OK. (0:04.46)
So PdfDraw is compiled in UWord. Why in my app there is no PdfDraw? How can I force it to appear?
Thanks,
Luigi
|
|
|
|
Re: UWord class: link problem [message #43414 is a reply to message #43412] |
Sat, 26 July 2014 08:52 |
|
forlano wrote on Fri, 25 July 2014 20:59after your question I added "PdfDraw" in the app.upp file and it worked!
I do not know why it was non included automatically.
Hi Luigi,
Congratulations to solving it on your own
I think it happened like this: On your screenshot above, I can see PdfDraw among the packages. This fooled you into thinking that it is compiled in your package, but actually, the PdfDraw was only conditionally included by CtrlLib (which uses it on non-windows systems). So it was shown there, but not compiled, because you were building on windows. Adding it to your package just made it unconditional.
It is always a good idea to add every package you use into the dependencies, even if some other package already provides it. It improves readability and saves trouble later, when other packages dependencies change or when you try to reuse package in another project
Best regards,
Honza
|
|
|
Goto Forum:
Current Time: Sat Jun 08 09:26:32 CEST 2024
Total time taken to generate the page: 0.01858 seconds
|
|
|