基本的な例hereの後、広告プログラムから C++ 関数を使用しようとしています。
標準の d コンパイラと TDM gcc mingw パッケージの現在のバージョンを使用しています。
*.o ファイルを elf32 形式から omf32 に変換するには、 objconf を使用しますobjconv -f
omf test.o testCpp.obj
。
リンクしようとすると、エラーが発生します
>dmd test.d testCpp.obj
OPTLINK (R) for Win32 Release 8.00.12
Copyright (C) Digital Mars 1989-2010 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
testCpp.obj(testCpp)
Error 42: Symbol Undefined __ZSt4cout
testCpp.obj(testCpp)
Error 42: Symbol Undefined __ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_
T0_ES6_
testCpp.obj(testCpp)
Error 42: Symbol Undefined __ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5
_PKc
testCpp.obj(testCpp)
Error 42: Symbol Undefined __ZNSolsEi
testCpp.obj(testCpp)
Error 42: Symbol Undefined __ZNSolsEPFRSoS_E
testCpp.obj(testCpp)
Error 42: Symbol Undefined __ZNSt8ios_base4InitD1Ev
testCpp.obj(testCpp)
Error 42: Symbol Undefined __ZNSt8ios_base4InitC1Ev
test.obj(test)
Error 42: Symbol Undefined ?foo@@YAHHHH@Z (int cdecl foo(int ,int ,int ))
--- errorlevel 8
libstdc++.a
変換されたファイルをそれにリンクしようとすると、さらに悪化します。
ウィンドウズを使用しています。