0

例えば:

lib1それはlib1パスのライブラリです

lib2これは、lib1に依存するlib2パスのライブラリです。つまり、次のことを意味します。

lib2.proファイルには次のものがあります。

LIBS + = -L ../ lib1 -llib1

INCLUDEPATH + = ../lib1

テストそれはlib2に依存するテストパスの実行可能ファイルです。つまり、次のことを意味します。

テスト.proファイルには次のものがあります。

LIBS + = -L ../ lib2 -llib2

INCLUDEPATH + = ../lib2

私は通常lib1とlib2をビルドしますが、テストをビルドしようとすると、Windowsでこのエラーが発生します(MACでは発生しません)。

関数内'lib2の関数'

undefined reference to 'function in lib1'
4

1 に答える 1

1

win32:LIBS += -L../lib1 -llib1test .pro ファイルにも追加する必要があります。

Windows では、リンク時にすべてのシンボルを解決する必要testlib2ありlib1ます。lib2lib1

Unix (MacOSx、Linux など) は、ライブラリを解決できないシンボルとリンクできるため、ロード時testにのみ必要になります。lib1

于 2012-04-12T20:50:04.857 に答える