[flext] Compilation Problems

Thomas Grill gr at grrrr.org
Sat Feb 13 18:28:10 CET 2010


Hi Julien,
the problem seems to be that the C-runtime-libraries of the STK library and some of the flext variants built in the process don't fit together.
Obviously STK has been built with libcmt.lib while the flext-pd_sd (single-threaded debug) wants libcmtd.lib.
You have to specify explicitly for which build mode you want to compile and link
In you specific case try:
build pd msvc build-release-single 
which will give you a single-threaded release version of flext.
Install with
build pd msvc install-release-single 

gr~~~

Am 12.02.2010 um 21:44 schrieb julien Colafrancesco:

> Hi,
> Thanks for your answer it's working.
> Now i try to support STK.
> 
> 
> 
> I've downloaded the last version of stk, compiled the .lib with the following lines:
> 
> cl /c /GR /EHsc /Iinclude /MT /Ox src\*.cpp
> lib *.obj /out:stk.lib
> 
> I edited the file like this:
> 
> # where is the STK installation?
> # (uncomment the line with # to disable STK support)
> # --------------------------------------------------------------------
> # In order to use STK you must have an stk.lib library
> # Using MSVC you can build it as following (from the STK main folder):
> #   cl /c /GR /EHsc /Iinclude /MT /Ox src\*.cpp
> #     (in case you define DYNAMIC=1 below, omit the /MT flag and set /MD instead)
> #     (you will get errors for some files, you can ignore them in the flext context)
> #   lib *.obj /out:stk.lib
> #
> 
> # where to find the STK header files (e.g. stk.h)
> STK_INC=C:\stk\include
> 
> # where to find the STK library (normally stk.lib)
> # (comment out STK_LIB if you don't use STK)
> STK_LIB=C:\stk\stk.lib
> 
> And i have the following error messages:
> 
> at mi-compilation
> 
>         lib /OUT:flext-pd_sd.lib flbase.obj flext.obj flbuf.obj fldsp.obj fllib.obj  flxlet.obj flattr.obj flattr_ed.obj flsupport.obj  flutil.obj flatom.obj flatom_pr.ob
> j flthr.obj fltimer.obj flsimd.obj flout.obj  flatom_part.obj flitem.obj flmeth.obj flmsg.obj  flproxy.obj flqueue.obj flbind.obj flmap.obj flstk.obj
> Microsoft (R) Library Manager Version 9.00.30729.01
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
> flthr.obj : warning LNK4221: no public symbols found; archive member will be inaccessible
>         "C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" /NOLOGO /f C:\flext\buildsys\nmake-sub.mak  PLATFORM=win RTSYS=pd COMPILER=msvc  BUILDPATH=C:\flex
> t\buildsys\ PKGINFO=package.txt BUILDCLASS=flext  USRCONFIG=config.txt USRMAKE=build\nmake-win-msvc.inc TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _build_
>         cl /c   /D_DEBUG  /YXflext.h /Fppd-msvc\debug-multi\precompiled.pch /LD /EHsc /GR /Oi /nologo /D_CRT_SECURE_NO_DEPRECATE /DWIN32 /D_WINDOWS /MTd  /DFLEXT_USE_SIMD
>  /DFLEXT_THREADS /DFLEXT_EXPORTS /DFLEXT_SYS=2 /DPD /D_WIN32_WINNT=0x500  /IC:\pd\src /IC:\pd\src /IC:\pd\flext\source\lockfree /IC:\stk\include source\flbase.cpp /Fopd-m
> svc\debug-multi\flbase.obj
> cl : Command line warning D9002 : ignoring unknown option '/YXflext.h'
> flbase.cpp
> 
> 
> at the end of the compilation
> 
>         link /DLL  /nologo /DEBUG  /LIBPATH:C:\pd\bin /LIBPATH:C:\pd\bin flbase.obj flext.obj flbuf.obj fldsp.obj fllib.obj  flxlet.obj flattr.obj flattr_ed.obj flsupport
> .obj  flutil.obj flatom.obj flatom_pr.obj flthr.obj fltimer.obj flsimd.obj flout.obj  flatom_part.obj flitem.obj flmeth.obj flmsg.obj  flproxy.obj flqueue.obj flbind.obj
> flmap.obj flstk.obj  pthreadVC.lib pd.lib LIBCPMTD.LIB LIBCMTD.LIB C:\stk\stk.lib /out:flext-pd_d.dll
> libcmt.lib(invarg.obj) : error LNK2005: __initp_misc_invarg already defined in LIBCMTD.LIB(invarg.obj)
> libcmt.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in LIBCMTD.LIB(invarg.obj)
> libcmt.lib(invarg.obj) : error LNK2005: __set_invalid_parameter_handler already defined in LIBCMTD.LIB(invarg.obj)
> libcmt.lib(invarg.obj) : error LNK2005: __get_invalid_parameter_handler already defined in LIBCMTD.LIB(invarg.obj)
> libcmt.lib(invarg.obj) : error LNK2005: "void __cdecl _invoke_watson(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)" (?_i
> nvoke_watson@@YAXPBG00II at Z) already defined in LIBCMTD.LIB(invarg.obj)
> libcmt.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined in LIBCMTD.LIB(invarg.obj)
> libcmt.lib(invarg.obj) : error LNK2005: "void __cdecl _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)"
> (?_invalid_parameter@@YAXPBG00II at Z) already defined in LIBCMTD.LIB(invarg.obj)
> libcmt.lib(invarg.obj) : error LNK2005: ___pInvalidArgHandler already defined in LIBCMTD.LIB(invarg.obj)
>    Creating library flext-pd_d.lib and object flext-pd_d.exp
> LIBCPMTD.LIB(xdebug.obj) : warning LNK4098: defaultlib 'libcmt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
> flext-pd_d.dll : fatal error LNK1169: one or more multiply defined symbols found
> NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.EXE"' : return code '0x491'
> Stop.
> NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
> Stop.
> 
> i'm using windows visual c++ 2008
> 
> Do you have an idear ? What's my mistake ?
> 
> thx a lot.
> 
> 
> 2009/11/8 julien Colafrancesco <jcolafrancesco at gmail.com>
> hi,
> I'am new with flext and with sources building in general. And i have some complilation problems.
> I'm using visual c++ 2008.(is there a more appropriate version of msvc ?)
> I'have download the last version of flext via subversion and I'have also download the PD sources and pthreads win32 binaries.
> 
> i'm folowing the instructions and after the second "build pd msvc" i have this kind of error:
> 
> (it's juste the last lines)
> 
>         cl /c   /DNDEBUG /Ox /G6 /arch:SSE /YXflext.h /Fppd-msvc\release-shared\precompiled.pch /LD /EHsc /GR /Oi /nologo /D_CRT_SECURE_NO_DEPRECATE /DWIN32 /D_WINDOWS /M
> T  /DFLEXT_USE_SIMD /DFLEXT_SHARED /DFLEXT_EXPORTS /DFLEXT_SYS=2 /DPD /D_WIN32_WINNT=0x500  /I"C:\pd"\src /I"C:\pd"\src /I"C:\pd"\flext\source\lockfree source\flbind.cpp
> /Fopd-msvc\release-shared\flbind.obj
> cl : Ligne de commande warning D9002 : option '/G6' inconnue ignorée
> cl : Ligne de commande warning D9002 : option '/YXflext.h' inconnue ignorée
> flbind.cpp
>         cl /c   /DNDEBUG /Ox /G6 /arch:SSE /YXflext.h /Fppd-msvc\release-shared\precompiled.pch /LD /EHsc /GR /Oi /nologo /D_CRT_SECURE_NO_DEPRECATE /DWIN32 /D_WINDOWS /M
> T  /DFLEXT_USE_SIMD /DFLEXT_SHARED /DFLEXT_EXPORTS /DFLEXT_SYS=2 /DPD /D_WIN32_WINNT=0x500  /I"C:\pd"\src /I"C:\pd"\src /I"C:\pd"\flext\source\lockfree source\flmap.cpp /
> Fopd-msvc\release-shared\flmap.obj
> cl : Ligne de commande warning D9002 : option '/G6' inconnue ignorée
> cl : Ligne de commande warning D9002 : option '/YXflext.h' inconnue ignorée
> flmap.cpp
>         link /DLL  /nologo /INCREMENTAL:NO  /LIBPATH:"C:\pd"\bin /LIBPATH:"C:\pd"\bin flbase.obj flext.obj flbuf.obj fldsp.obj fllib.obj  flxlet.obj flattr.obj flattr_ed.
> obj flsupport.obj  flutil.obj flatom.obj flatom_pr.obj flthr.obj fltimer.obj flsimd.obj flout.obj  flatom_part.obj flitem.obj flmeth.obj flmsg.obj  flproxy.obj flqueue.ob
> j flbind.obj flmap.obj  pthreadVC.lib pd.lib LIBCPMT.LIB LIBCMT.LIB /out:flext-pd.dll
> LINK : fatal error LNK1181: impossible d'ouvrir le fichier en entrée 'pd.lib'
> NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\link.EXE"' : code retour '0x49d'
> Stop.
> NMAKE : fatal error U1077: '"D:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : code retour '0x2'
> Stop.
> 
> 
> These two lines are recurrents:
> cl : Ligne de commande warning D9002 : option '/G6' inconnue ignorée
> cl : Ligne de commande warning D9002 : option '/YXflext.h' inconnue ignorée
> 
> Can someone help me ?
> Thanks a lot !
> 
> 
> _______________________________________________
> http://grrrr.org/ext/flext
> 
> flext mailing list
> flext at grrrr.org
> http://grrrr.org/cgi-bin/mailman/listinfo/flext

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://grrrr.org/pipermail/flext/attachments/20100213/747a0991/attachment.htm>


More information about the flext mailing list