1

基本的な例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変換されたファイルをそれにリンクしようとすると、さらに悪化します。

ウィンドウズを使用しています。

4

1 に答える 1