0

Eclipse Juno CDT を使用しています。

プロジェクトに以下を追加しました。

  • インクルード パス設定への mysql/includes パス
  • ライブラリ設定への libmysql.lib および zlib.lib
  • ライブラリ パス設定への mysql ライブラリ パス

ここで、プロジェクトを作成すると、アプリケーションを実行するとコンパイルでエラーがスローされます。これはビルドです:

10:08:56 **** Build of configuration Debug for project mysqlapp ****
make all 
Building file: ../src/mysqlapp.c
Invoking: Cygwin C Compiler
gcc -I"C:\Program Files\MySQL\MySQL Connector C 6.0.2\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/mysqlapp.d" -MT"src/mysqlapp.d" -o "src/mysqlapp.o" "../src/mysqlapp.c"
cygwin warning: 
MS-DOS style path detected: C:\Users\Yonaton\workspace\mysqlapp\Debug
Preferred POSIX equivalent is: /cygdrive/c/Users/Yonaton/workspace/mysqlapp/Debug
 CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
Finished building: ../src/mysqlapp.c

Building target: mysqlapp.exe
Invoking: Cygwin C Linker
gcc -L"C:\Program Files\MySQL\MySQL Connector C 6.0.2\lib\opt" -o "mysqlapp.exe"  ./src/mysqlapp.o   
Finished building target: mysqlapp.exe

そして、これはEclipse内での実行です:

10:09:55 **** Incremental Build of configuration Debug for project mysqlapp ****
make all 
src/mysqlapp.d:1: *** multiple target patterns.  Stop.

10:09:56 Build Finished (took 225ms)
4

2 に答える 2

0

私が正しく覚えていれば、ライブラリの前に「-l」(小さいL)があります。

于 2012-11-22T14:39:05.513 に答える
0

Project->Properties->C/C++ General->Paths and Symbols->Librariesライブラリのファイル名もパスも追加しないでください。

したがって、リンクしたい場合は、 を/lib64/libz.so追加するだけzです。

zまたは、代わりにunderを追加しProject->Properties->C/C++ Build->Settings->GCC Linker->Librariesます。

ライブラリが標準パスの下にない場合は、ライブラリのカスタム検索パスを下に追加しますProject->Properties->C/C++ General->Paths and Symbols->Libraries Paths


更新(「複数のターゲットパターン」を参照)

makeDOS パスが好きではありません。ドライブ文字の後の.dファイルで:は、ターゲット区切り文字として解釈されます。

UNIXパスに切り替えます(すでに指示されているように... ;-))。

(参照: 「複数のターゲット パターン」 Makefile エラー)

于 2012-11-22T14:53:04.180 に答える