几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】unresolved G-pdesc Linking Dll Libs (http://www.dimcax.com/hust/showthread.php?t=18913)

yang686526 2009-05-07 05:50 PM

【转帖】unresolved G-pdesc Linking Dll Libs
 
unresolved g_pdesc linking dll libs
unresolved g_pdesc linking dll libs
building the test app odamfcappdll works fine. but when i try to link my own app with dll libs (v. 1.10) i get lots of classxxxx::g_pdesc unresolved (see below). what should i check out in my build setup?
i have these defines active when i compile:
#define _toolkit_in_dll_
#define oda_db_exports
#define odafirst_dll_exports
#define odw_ge_exports
#define oda_br_exports
-rune
utldxf.lib(exodstorage.obj) : error lnk2001: unresolved external symbol "public: static class odrxclass * odrxclass::g_pdesc" (?g_pdesc@odrxclass@@2pav1@a)
utldxf.lib(exsystemservices.obj) : error lnk2001: unresolved external symbol "public: static class odrxclass * odstreambuf::g_pdesc" (?g_pdesc@odstreambuf@@2pavodrxclass@@a)
utldxf.lib(dwgout.obj) : error lnk2001: unresolved external symbol "public: static class odrxclass * odrxiterator::g_pdesc" (?g_pdesc@odrxiterator@@2pavodrxclass@@a)
utldxf.lib(exgirasterimage.obj) : error lnk2001: unresolved external symbol "public: static class odrxclass * odgidrawable::g_pdesc" (?g_pdesc@odgidrawable@@2pavodrxclass@@a)

check if you forgot to link with dd_root library.
sincerely yours,
george udov
> check if you forgot to link with dd_root library.
i have dd_root_dll.lib in the link file.
my hunch is that the reference to...
"public: static class odrxclass * everyclassintoolkit::g_pdesc"
...is generated incorrectly at compile time. it is generated to reference a e.g. a non-dll implementation of the function. is there any defines or compile flags that controls how this function reference is layed out in the code?
-rune

you shouldn't define
#define oda_db_exports
#define odafirst_dll_exports
#define odw_ge_exports
#define oda_br_exports
these symbols in your project.
btw, odamfcappdll doesn't define them.
sincerely yours,
george udov

>you shouldn't define
>
>#define oda_db_exports
>#define odafirst_dll_exports
>#define odw_ge_exports
>#define oda_br_exports
>
>these symbols in your project.
removing these defines proved to be significant.
it builds correctly now!
-rune
same problem
hi,
i have the same problem, but i don't use this defines...

i have only remove the static libs and try to use the dynamic libs.


所有的时间均为北京时间。 现在的时间是 07:43 PM.