c++ - Command line error D8003 : missing source filename When linking -
i'm using autotools compile matlab modules. originally, used libtool accomplish, terrible job dealing microsoft's compilers. such, removing libtool windows builds.
here information might useful:
$ cl /v microsoft (r) 32-bit c/c++ optimizing compiler version 16.00.30319.01 80x86 copyright (c) microsoft corporation. rights reserved. $ uname -a cygwin_nt-6.1 rattop 1.7.18(0.263/5/3) 2013-04-19 10:39 i686 cygwin unfortunately, having linking error cannot explain:
cxxld averagefilter.mexw32 cl /dtrilibrary /dansi_declarators /dno_timer /d_have_matlab_modules_ /d_gnu_source -o2 -dwin32 -d_intel_win_ -ehsc /link /out:averagefilter.mexw32 averagefilter.obj /dll /export:mexfunction /link /libpath:"c:/root/extern/lib/win32/microsoft" libmx.lib libmex.lib libmat.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 /incremental:no /manifest ./libissmmatlab.a ../../c/libissmmodules.a ../../c/libissmcore.a c:/root/home/daeden/issm/trunk-jpl/externalpackages/petsc/install/lib/libpetsc.lib /link /libpath:"c:/root/home/daeden/issm/trunk-jpl/externalpackages/petsc/install/lib" libpetsc.lib /nologo cl : command line error d8003 : missing source filename makefile:860: recipe target `averagefilter.mexw32' failed can explain how rid of error? make sense if trying compile, i'm trying link.
microsoft's c/c++ compiler can pass options linker via '/link' command or commands known compiler-controlled link options.
the '/fe' option equivalent '/link /out:'. solves problem.
alternatively, order of flags can fix issue. changing this:
/link /out:averagefilter.mexw32 averagefilter.obj to this:
averagefilter.obj /link /out:averagefilter.mexw32 the linker called correctly.
Comments
Post a Comment