0

私のコンピューターには 2 つの異なる g++ コンパイラーがあります。

  • 標準ディレクトリ (C:\MinGW) に 1 つ、
  • 1つはポータブルディストリビューションです。

現在、C++ プロジェクトをリンクしようとしています。

問題は、g++ のポータブル ディストリビューションでコンパイルされたブースト ライブラリに対してリンクされていることです。もちろん、標準のインストールディレクトリはPATH環境変数に含まれています。そのため、プロジェクトをコンパイルしようとすると、リンカー エラーが発生します。

PATH変数の先頭にポータブル版のディレクトリを追加したバッチファイルを作成してみました。運がない。多分誰かが私を助けることができますか?

@echo off
set PATH=%~dp0..\c++\compiler\bin;%PATH%

REM cd /d "%~dp0"

..\c++\compiler\bin\g++ main.cpp ^
-std=c++0x -static-libgcc -static-libstdc++ ^
-I"../c++/include" ^
-L"../c++/lib" ^
-l"boost_serialization-mgw46-mt-1_52" ^
-l"boost_system-mgw46-mt-1_52" ^ 
-o output.exe -W -O2
pause

注: g++ コマンドの前に "..\c++\compiler\bin\" を使用したのは、それが正しいパスを使用していることを確認したかったからですが、もちろん期待どおりには機能しません。

4

1 に答える 1

0

インストールされているバージョンのGCCでboostを再コンパイルすることで解決しました。

于 2013-01-19T23:51:09.750 に答える