私はこの問題にほぼ1週間取り組んできましたが、まだ700以上のエラーがあります。間違いなくあなたのすべての助けが必要です!ありがとう。
問題:使用する必要がある
WindowsPhone8用のCocos2dx
C#/XAMLUIも使用するC++/ DirectX VisualStudio2012プロジェクトで。
与えられたもの:http: //www.cocos2d-x.org/projects/cocos2d-x/wiki/Downloadからダウンロードされたアプリケーション.exeプロジェクトとしてのCocos2dx-wp8
解決策:
- Visual Studio 2012でC#/ XAML /DirectXGame1ソリューションの.slnプロジェクトを開きます。
- ソリューションエクスプローラーでソリューションを右クリックします。追加->既存のプロジェクト...
- 選択:\ cocos2dx-0.13.0-wp8-0.8 \ HelloWorld \ cocos2d.vcxproj、クリックして開く
- HelloWorldプロジェクトの名前を「Cocos2dxWp8」などに変更し、HelloWorld Classesフォルダーと不要なすべてのアセット(リスや背景画像など)を削除します。
[プロパティ]->[構成プロパティ]->[一般]->[構成タイプ]->[アプリケーション(.exe)]から[ダイナミックライブラリ(.dll)]に変更します
プロパティに新しいパスを追加->C/C++->追加のインクルードディレクトリ->
$(ProjectDir); $(IntermediateOutputPath); .. \ cocos2dx \ include; .. \ cocos2dx; .. \ cocos2dx \ platform \ third_party \ win8_metro \ libpng; .. \ cocos2dx \ platform \ third_party \ win8_metro \ zlib; .. \ cocos2dx \ platform \ third_party \ win8_metro; .... \ Cocos2dxWp8; .. \ cocos2dx \ platform \ win8_metro; .. \ cocos2dx \ platform \ third_party \ win8_metro \ freetype; .. \ cocos2dx \ platform \ third_party \ win8_metro \ libjpeg; .. \ CocosDenshion \ include; .. \ cocos2dx \ platform; 株式会社; %(AdditionalIncludeDirectories)
- [プロパティ]->[リンカー]->[入力]->[追加の依存関係]->のパスを更新しました
.. \ cocos2dx \ platform \ third_party \ win8_metro \ libraries \ x86 \ freetype.lib; .. \ cocos2dx \ platform \ third_party \ win8_metro \ libraries \ x86 \ zlib.lib; .. \ cocos2dx \ platform \ third_party \ win8_metro \ libraries \ x86 \ libjpeg.lib; .. \ cocos2dx \ platform \ third_party \ win8_metro \ libraries \ x86 \ libpng.lib; dxguid.lib; xaudio2.lib; dxgi.lib; uuid.lib; d3d11.lib;%(AdditionalDependencies)
- VC ++ディレクトリの更新されたパス:
$(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform \ third_party \ win8_metro \ freetype; $(SolutionDir); $(ProjectDir)inc; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ CocosDenshion \ include; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform \ third_party \ win8_metro \ zlib; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform \ third_party \ win8_metro \ libraries; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform \ third_party \ win8_metro \ libpng; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform \ third_party \ win8_metro \ libjpeg; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform \ third_party \ win8_metro \ libxml2; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform \ third_party \ win8_metro \; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform \ win8_metro; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ include; $(SolutionDir)GameWp8Dx \ Cocos2dxWp8 \ cocos2dx; $(IncludePath)
ここから、正常にビルドされます。 .dllファイルは出力されますが、.libファイルは出力されないため...
CCPlatformMacros.hで、クラスをdllにエクスポートできるようにしました。
#define CC_DLL __declspec(dllexport)
ええ、.libはその時に書かれています...
715エラー、772警告
エラー773エラーLNK2001:未解決の外部シンボル"public:virtual __thiscall cocos2d :: CCKeypadHandler ::〜CCKeypadHandler(void)"(?? 1CCKeypadHandler @ cocos2d @ UAE @ XZ)F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ Hello \ CCSpriteBatchNode.obj Cocos2dXWp8Frameworkエラー774エラーLNK2001:未解決の外部シンボル "public:virtual __thiscall cocos2d :: CCKeypadHandler ::〜CCKeypadHandler(void)"(?? 1CCKeypadHandler @ cocos2d @ UAE @ XZ)
CCKeyHandlerクラスが定義されているヘッダーファイル(CCKeypadDelegate.h内)をインクルードし、CCSpriteBatchNode.hも同じインクルードフォルダーにあります。
クラスシグネチャは次のようになります。
class CC_DLL CCKeypadHandler : public CCObject
class CC_DLL CCSpriteBatchNode : public CCNode, public CCTextureProtocol
エラーはそのまま継続します...
F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ HelloWorld \ cocos2dorig.obj Cocos2dXWp8Frameworkエラー775エラーLNK2001:未解決の外部シンボル "public:virtual __thiscall cocos2d :: CCKeypadHandler ::〜CCKeypadHandler(void)" @@ UAE @ XZ)F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ HelloWorld \ CCImage_win8_metro.obj Cocos2dXWp8Framework
..。
エラー1482エラーLNK2001:未解決の外部シンボル "public:virtual void __thiscall cocos2d :: CCTMXMapInfo :: textHandler(void *、char const *、int)"(?textHandler @ CCTMXMapInfo @ cocos2d @ UAEXPAXPBDH @ Z)F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ HelloWorld \ CCDrawingPrimitives.obj Cocos2dXWp8Frameworkエラー1483エラーLNK2001:未解決の外部シンボル "public:virtual void __thiscall cocos2d :: CCTMXMapInfo :: textHandler(void *、char const *、int @ cocos2d @ UAEXPAXPBDH @ Z)F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ HelloWorld \ cocos2d.obj Cocos2dXWp8Framework Error 1484 error LNK2019:unresolved external symbol "public:virtual __thiscall cocos2d::CC "(?? 1CCKeypadDispatcher @ cocos2d @ UAE @ XZ)関数で参照"public:virtual void * __thiscall cocos2d :: CCKeypadDispatcher :: `vector delete destructor'(unsigned int)"(?? _ ECCKeypadDispatcher @ cocos2d @ UAEPAXI @ Z)F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ Hello obj Cocos2dXWp8Frameworkエラー1485エラーLNK2001:未解決の外部シンボル "public:virtual __thiscall cocos2d :: CCKeypadDispatcher ::〜CCKeypadDispatcher(void)"(?? 1CCKeypadDispatcher @ cocos2d @ UAE @ XZ)F:\ src \ WindowsPhone \ GameWp8Dx \ HelloWorld \ CCLayer.obj Cocos2dXWp8Frameworkエラー1486エラーLNK2001:未解決の外部シンボル "public:virtual __thiscall cocos2d :: CCKeypadDispatcher ::〜CCKeypadDispatcher(void)"(?? 1CCKeypadDispatcher @ cocos2d @ UAE @ XZ)F:\ src \ Windows GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ HelloWorld\CCEGLView_win8_metro。obj Cocos2dXWp8Frameworkエラー1487エラーLNK1120:48の未解決の外部F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ Win32 \ Debug \ cocos2d \ Cocos2dXWp8Framework.dll Cocos2dXWp8Framework
ソリューション/プロジェクトパス:
F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx.sln F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ GameWp8Dx \ GameWp8Dx.csproj F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ GameWp8DxComponent \ GameWp \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ HelloWorld \ cocos2d.vcxproj
Cocos2dインクルードファイル:
F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ include F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ cocos2dx \ platform
ここで作成されたオブジェクトファイル:
F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ HelloWorld \ Win32 \ Debug * .obj
ここに構築された.dll/.lib:
F:\ src \ WindowsPhone \ GameWp8Dx \ GameWp8Dx \ Cocos2dxWp8 \ Win32 \ Debug \ cocos2d
長い投稿で申し訳ありませんが、この質問を進めるのに十分な詳細であることを願っています。ありがとう。