[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