一番下までスクロールして、更新された短い質問を一覧表示してください
私はPoDoFoを構築しています。最後のステップでは、cmake を使用して、PoDoFo 用の Visual Studio 2010 .sln ファイルを作成しています。ただし、このソリューション ファイルをビルドすると、依存ライブラリのヘッダー ファイルが見つかりません。たとえば、ブースト ライブラリのヘッダー ファイルは見つかりません。
c:\pdf\podofo-0.9.1\src\base\PdfDefines.h(66): fatal error C1083: Cannot open include file: 'boost/config.hpp': No such file or directory
ブーストを無効にすると、freetype ライブラリ ヘッダーで同様のエラーが発生します
2>..\..\src\doc\PdfFontCache.cpp(55): fatal error C1083: Cannot open include file: 'ft2build.h': No such file or directory
これが私のbuild.cmdファイルです
del cmakecache.txt
set BOOST_ROOT=C:\pdf\boost_1_51_0_code
set BOOST_INCLUDE_DIR=C:\pdf\boost\boost_1_51_0\staging\include
set BOOSTLIBDIR=C:\workspace\lib\boost\boost_1_51_0\staging\lib
set FT_INCLUDE=C:\PDF\freetype-2.4.0\include\freetype
set FTDIR=C:\PDF\freetype-2.4.0\objs\win32\vc2008
set JPEGDIR=C:\PDF\jpeg-8d\Release\lib
set TIFDIR=C:\PDF\tiff-4.0.3\lib
set ZLIBDIR=C:\pdf\zlib-1.2.8
set BUILD_FLAGS="/MT"
cmake -G "Visual Studio 10" "C:\pdf\podofo-0.9.1" ^
-DCMAKE_CXX_FLAGS_RELEASE:STRING=%BUILD_FLAGS% ^
-DFREETYPE_INCLUDE_DIR=%FT_INCLUDE% ^
-DLIBJPEG_LIBRARY_RELEASE=jpeg ^
-DCMAKE_INCLUDE_PATH="%INCLUDE%;%BOOST_INCLUDE_DIR%;%FT_INCLUDE%;%FT_INCLUDE%\freetype;%JPEGDIR%\jpeg;%TIFDIR%\tiff;%ZLIBDIR%\zlib" ^
-DCMAKE_LIBRARY_PATH="%LIB%;%BOOSTLIBDIR%;%FTDIR%;%JPEGDIR%\lib;%TIFDIR%;%ZLIBDIR%\lib" ^
-DPODOFO_BUILD_SHARED:BOOL=FALSE ^
-DPODOFO_BUILD_STATIC:BOOL=TRUE ^
-DWANT_BOOST:BOOL=0 ^
-DLIBJPEG_LIBRARY_NAMES_RELEASE=jpeg ^
-DFREETYPE_LIBRARY_NAMES_RELEASE=freetype240MT ^
-DZLIB_LIBRARY_NAMES_RELEASE=zlibstat
私は CMake を初めて使用しますが、ライブラリの依存関係が Visual Studio プロジェクトにどのように反映されるのかわかりません。.
結果のソリューション ファイルのパスのスクリーン ショットを次に示します。これらのパスが小さなスクリプト ファイルからどのように実行されるのか理解できませんか? それらは正確には対応していないDCMAKE_LIBRARY_PATH
ので、どこから来たのですか?
ソリューション ファイルのインクルード エラーを修正するにはどうすればよいですか? これらのパスをプロジェクト プロパティ >> VC++ ディレクトリ >> 'インクルード ディレクトリ' に追加しようとしましたが、それでもビルドしたくありません。これらのインクルード エラーを削除しても、ライブラリ パスも間違っている可能性があるため、リンカ エラーが発生するのではないかと心配しています。これらのエラーを修正してプロジェクトをビルドするにはどうすればよいですか? ありがとう。
更新された質問
パスを次のように変更して、インクルード エラーを修正しました。
FT_INCLUDE=C:\PDF\freetype-2.4.0\include\
予想通り、多くのリンカ エラーが発生します。しかし、PoDoFo.lib ファイルが作成されたことに気付いたので、サンプル デモでこれを使用してみました。これも正常にコンパイルできましたが、次のリンカ エラーが発生します。
1>podofo.lib(PdfFont.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>podofo.lib(PdfDifferenceEncoding.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>podofo.lib(PdfFontSimple.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>podofo.lib(PdfIdentityEncoding.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>podofo.lib(PdfFontTrueType.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>podofo.lib(PdfFontMetricsObject.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
1>podofo.lib(PdfEncodingObjectFactory.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
依存ライブラリがパスとともにプロジェクト設定に追加されていることを確認しましたが、なぜこれらのエラーが引き続き発生するのですか?