在此处的基本示例之后,我正在尝试使用广告程序之外的 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
文件链接到它,它会变得更糟。
我正在使用窗户。