我在Windows 7上使用Visual Studio 2013,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!
我不确定我做错了什么;我完全按照说明操作,我知道我的编译器工作正常。我错过了什么?
答案 0 :(得分:0)
我认为错误的发生是因为Visual Studio再次编译GtkD,而不是简单地使用.d
文件作为参考,并使用.lib
文件进行编译实现。您可能需要从编译中排除GtkD文件,或从项目中删除.lib
文件,以便让Visual Studio将GtkD与您的应用程序一起编译。