0

KWWidget のビルド中に次のエラーが発生しました:

3>vtkKWApplicationTcl.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWTkTreeCtrlInit.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>tkShape.cpp
3>..\KWWidgets-HEAD-cvs\Utilities\tkdnd\win\tkShape.cpp(13) : error C2061: syntax error : identifier 'Tcl_Obj'
3>..\KWWidgets-HEAD-cvs\Utilities\tkdnd\win\tkShape.cpp(16) : error C2065: 'objv' : undeclared identifier
3>..\KWWidgets-HEAD-cvs\Utilities\tkdnd\win\tkShape.cpp(16) : error C3861: 'Tcl_WrongNumArgs': identifier not found
3>..\KWWidgets-HEAD-cvs\Utilities\tkdnd\win\tkShape.cpp(24) : error C3861: 'Tcl_CreateObjCommand': identifier not found
3>..\KWWidgets-HEAD-cvs\Utilities\tkdnd\win\tkShape.cpp(27) : error C3861: 'Tcl_PkgProvide': identifier not found
3>tkOleDND.cpp
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>OleDND.cpp
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWTkDnDInit.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>tkDNDBind.cpp
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>tkDND.cpp
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWTkconInit.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWTablelistInit.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWBWidgetsInit.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWWidgetsInitializeCommand.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWSimpleAnimationWidget.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWSelectionFrameLayoutManager.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWRenderWidget.cxx
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(353) : error C2143: syntax error : missing ';' before '*'
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(353) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(353) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(353) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(353) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(389) : error C2146: syntax error : missing ';' before identifier 'LPTCH'
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(389) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(389) : error C2378: 'LPCH' : redefinition; symbol cannot be overloaded with a typedef
3>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(353) : see declaration of 'LPCH'
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(389) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(389) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(398) : error C2143: syntax error : missing ';' before '*'
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(398) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(398) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(399) : error C2143: syntax error : missing ';' before '*'
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(399) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(399) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(3422) : error C2143: syntax error : missing ';' before '__stdcall'
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(3422) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(3422) : error C2040: 'LPCH' : 'int' differs in levels of indirection from 'int *'
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(3425) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(3447) : error C2146: syntax error : missing ')' before identifier 'NewEnvironment'
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(3447) : warning C4229: anachronism used : modifiers on data are ignored
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(3447) : error C2491: 'SetEnvironmentStringsA' : definition of dllimport data not allowed
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(3447) : error C2440: 'initializing' : cannot convert from 'int *' to 'BOOL'
3>        There is no context in which this conversion is possible
3>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(3447) : error C2059: syntax error : ')'
3>Compiling...
3>vtkKWPresetSelector.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWPopupButton.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWOptionDataBase.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWObject.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
3>vtkKWMultiColumnList.cxx
3>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
.
.
24>Linking...
24>LINK : fatal error LNK1104: cannot open file '..\bin\Debug\KWWidgets.lib'
24>Build log was saved at "file://d:\KWWidget\bin\Utilities\KWConvertImageToHeader.dir\Debug\BuildLog.htm"
24>KWConvertImageToHeader - 1 error(s), 0 warning(s)
25>------ Build started: Project: KWFileBrowserDialogExample, Configuration: Debug Win32 ------
25>Compiling...
25>KWFileBrowserDialogExample.cxx
25>D:\VTK\src\Common\vtkTk.h(26) : fatal error C1083: Cannot open include file: 'tk.h': No such file or directory
25>Build log was saved at "file://d:\KWWidget\bin\Examples\Cxx\FileBrowserDialog\KWFileBrowserDialogExample.dir\Debug\BuildLog.htm"
25>KWFileBrowserDialogExample - 1 error(s), 0 warning(s)
26>------ Skipped Build: Project: INSTALL, Configuration: Debug Win32 ------
26>Project not selected to build for this solution configuration 
========== Build: 0 succeeded, 20 failed, 3 up-to-date, 6 skipped ==========

ActiveTcl8.5.13.0.296436-win32-ix86-threaded と TclDevKit5.3.0.295349-win32-ix86-threaded をインストールしましたが、tk.h が見つかりませんでした。助けてください。ありがとう。

4

1 に答える 1

0

ActiveTclにはランタイムライブラリが含まれていますが、TclライブラリとTkライブラリの両方のヘッダーファイルが省略されています。リンクライブラリも省略されている可能性があります(ただし、それについてはよくわかりません。確認するのに適切なプラットフォームを使用していません)。何かをビルドするには、SourceForgeからTclとTkのソースディストリビューションを入手して(ActiveTclディストリビューションと一致するように8.5.13を選択)、自分でビルドする必要があります。ただし、ビルドすると、ActiveTclダイナミックライブラリに対して実行できる場合があります(特に、スタブAPIを使用するコードをビルドした場合)。

ActiveTclは、それが提供する追加のパッケージとツールを除けば、従来のTclディストリビューションであることに注意してください。

于 2012-12-22T14:18:47.463 に答える