我在Windows7上使用的是Visual Studio2013,Visual D版本0.3.37,Gtk+3.8,最新的GtkD和dmd-2.065.0。我跟随these instructions构建了GtkD,并设置了我的编译器来编译它。在Visual Studio中,我告诉VisualD使用编译器开关,也就是使用GtkD编译项目时使用的编译器开关。我试图使用Visual D的“编译并运行”命令来编译说明中给出的"Hello World“程序。经过长时间的编译后,我得到了以下错误:
Compiling main.d...
OPTLINK (R) for Win32 Release 8.00.15
Copyright (C) Digital Mars 1989-2013 All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
C:\D\dmd2\windows\bin\..\lib\gtkd.lib(Action) Offset 03B19H Record Type 0091
Error 1: Previous Definition Different : _D3atk9ObjectAtk9ObjectAtk6__initZ
C:\D\dmd2\windows\bin\..\lib\gtkd.lib(Action) Offset 03B42H Record Type 0091
Error 1: Previous Definition Different : _D3atk9ObjectAtk9ObjectAtk7__ClassZ
C:\D\dmd2\windows\bin\..\lib\gtkd.lib(Action) Offset 03B6AH Record Type 0091
Error 1: Previous Definition Different : _D3atk9ObjectAtk9ObjectAtk6__vtblZ
C:\D\dmd2\windows\bin\..\lib\gtkd.lib(Action) Offset FFE57H Record Type 0091
Error 1: Previous Definition Different : _D3atk9ObjectAtk12__ModuleInfoZ
//bunch more similar lines follow...
--- errorlevel 14816
Building Debug\main.exe failed!我不确定我做错了什么;我完全遵循了指令,并且我知道我的编译器可以工作。我遗漏了什么?
发布于 2014-08-15 04:42:47
我认为发生这个错误是因为Visual Studio正在重新编译GtkD,而不是简单地使用.d文件作为参考,并使用.lib文件作为编译后的实现。您可能需要从编译中排除GtkD文件,或者从项目中删除.lib文件,以便Visual Studio将GtkD与应用程序一起编译。
https://stackoverflow.com/questions/22374099
复制相似问题