0

すべて:
Solaris 10で作業しており、次の問題が発生します。

There is ODBC dynamic library in /usr/local/lib:

lrwxrwxrwx   1 root     root          16 Jun 26  2012 libodbc.so -> libodbc.so.2.0.0
lrwxrwxrwx   1 root     root          16 Jun 26  2012 libodbc.so.2 -> libodbc.so.2.0.0
-rwxr-xr-x   1 root     root     1874776 Jun 26  2012 libodbc.so.2.0.0  

makefileは次のようになります。

gcc  -o a a.c -lodbc

/ usr / local / bin / gccを使用してプログラムをコンパイルすると、コンパイルはOKです。
しかし、/ usr / sfw / bin / gccを使用してプログラムをコンパイルすると、次のエラーが発生します。

ld:致命的:ライブラリ-lodbc:見つかりません

しかし、crleコマンドの出力:

 Configuration file [version 4]: /var/ld/ld.config  
 Platform:     32-bit MSB SPARC
 Default Library Path (ELF):   /lib:/usr/lib:/usr/local/lib:/opt/DSI/32:/usr/local/asg_mysql/lib
 Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)

 Command line:
 crle -c /var/ld/ld.config -l /lib:/usr/lib:/usr/local/lib:/opt/DSI/32:/usr/local/asg_mysql/lib

大丈夫そうです。

では、gccを使用する場合に違いはありますか?よろしくお願いします!
よろしく
ナンシャオ

4

1 に答える 1

1

/usr/local/libリンカのデフォルトの検索パスにないようです。オプションを使用し-Lて追加します。

$ /usr/sfw/bin/gcc your_file.c -o your_program -L/usr/local/lib -lodbc
于 2013-02-27T09:03:50.337 に答える