Ant に限った話ではないが Cygwin の gcc でコンパイル・リンクする時に以下のような auto-import に関する Warning が表示される時がある。
[cc] Starting link
[cc] /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld:
warning: auto-importing has been activated without --enable-auto-import specifi
ed on the command line.
[cc] This should work unless it involves constant data structures referen
cing symbols from auto-imported DLLs.Info: resolving vtable for CppUnit::TestSui
teBuilderContextBaseby linking to __imp___ZTVN7CppUnit27TestSuiteBuilderContextB
aseE (auto-import)
この場合は Linker オプションに --enable-auto-import を渡してやればよい。Ant を使用している場合に Linker にオプション (引数) を付ける方法は以下の通り。
<target name="build" depends="init">
<cc outtype="executable"
subsystem="console"
outfile="${dist.dir}/test"
objdir="${build.dir}"
debug="true">
<compiler name="g++">
<fileset dir="${src.dir}"
includes="main.cpp,Counter.cpp,CounterTest.cpp"/>
</compiler>
<linker name="gcc" libtool="true">
<libset libs="cppunit,stdc++"/>
<linkerarg value="--enable-auto-import"/>
</linker>
</cc>
</target>
ant に -verbose オプションを付けて Linker に渡された引数を確認してみると --enable-auto-import が付いていることがわかる。
[cc] Starting link
[cc] gcc -Wl,--enable-auto-import -g -o test ..\build\main.o ..\build\CounterTest.o ..\build\Counter.o -lcppunit -lstdc++
0 件のコメント:
コメントを投稿