• 締切済み

コンパイルエラー

こんにちは。質問させてください。 Ubuntu9.04 64-bitであるプログラムをコンパイルしたところ、次のようなエラーが出ました。 gcc -lm -lz findpat.o bwt.o common.o libp2zip.o lcp.o mrs.o bittree.o tiempos.o enc.o -o findpat /usr/bin/ld: i386 architecture of input file `findpat.o' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `libp2zip.o' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `bittree.o' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `tiempos.o' is incompatible with i386:x86-64 output /usr/bin/ld: i386 architecture of input file `enc.o' is incompatible with i386:x86-64 output collect2: ld returned 1 exit status make: *** [findpat] エラー 1 このエラーを直すにはどうすればよいでしょうか?

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

それらのオブジェクトファイル (に対応するソースファイル) をコンパイルしなおす.

kuleyon
質問者

お礼

オブジェクトファイルを削除して、makeしたところ、うまくコンパイルできました。 ありがとうございました。

関連するQ&A

  • 32bitでコンパイルするには

    お世話になっております。 CentOSの64ビットマシンを使っています。 C言語の簡単なサンプルとして、ポインタ変数の長さを表示するプログラム(sizeof(ポンタ変数)をprintf)を作りました。 これをコンパイルして実行すると8と表示されますので、64bitとアプリケーションとしてコンパイルされたのだろうと思います。 次に32Bitアプリケーションとしてコンパイルするために-m32オプションを付けてコンパイルしたところ、以下のとおりエラーが出てしまい困っております。 gcc -m32 -o sample sample.c /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s collect2: ld returned 1 exit status 解決方法について教えていただければ幸いです。 コンパイラは、gcc-4.4.7-3.el6.x86_64をインストールしています。 よろしくお願いします。

  • Cコンパイルエラーについて

    ◆OS Solaris 8 4/01 s28s_u4wos_08 SPARC ◆cソース(test.c) #include <stdio.h> int main() { printf("hello, world\n"); return 0; } ◆環境変数 PATH=/usr/sbin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/css/bin:/usr/sfw/bin:/opt/sfw/bin:/usr/ccs/bin:/usr/openwin/bin:/usr/openwin/bin LD_LIBRALY_PATH=/usr/lib:/usr/local/lib:. ◆コンパイル gcc -o test -g -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -L/usr/local/lib test.c -lsocket -lnsl -lmalloc -ldl -lld -lm -lcrypt -lsec -lc ◆エラー内容 ld: 重大なエラー: ライブラリ -lld: 見つかりません。 ld: 重大なエラー: ファイル処理エラー。test へ書き込まれる出力がありません。 collect2: ld はステータス 1 で終了しました 上記エラー対処方法をご教授下さい。宜しくお願いします。

  • Linuxのmake時のエラーについて

    あるプログラムをmakeすると下記のメッセージが出たのですが、どうすれば正常にmakeできますでしょうか?他のPCだとできたようです。 よろしくお願い致します。 g++ -L. -lpthread -lrt -lm -o SchedFifoTest SFthread.o SchedFifoTest.o /usr/bin/ld: SchedFifoTest.o: in function `main': SchedFifoTest.cc:(.text.startup+0x5e): undefined reference to `pthread_setaffinity_np' /usr/bin/ld: SFthread.o: in function `ARCS::SFthread::SFthread(unsigned long, void (*)(void*), void*, int)': SFthread.cc:(.text+0x2e9): undefined reference to `pthread_create' /usr/bin/ld: SFthread.cc:(.text+0x336): undefined reference to `pthread_setaffinity_np' /usr/bin/ld: SFthread.o: in function `ARCS::SFthread::~SFthread()': SFthread.cc:(.text+0x36d): undefined reference to `pthread_cancel' collect2: error: ld returned 1 exit status make: *** [Makefile:51: SchedFifoTest] エラー 1

  • C++がコンパイルできない...

    非常に初歩的な問題で恐縮なのですが、以下のようなシンプルなプログラムでコンパイルが出来ず困っております。 何がいけないのか、もしくは何をチェックすればよいかを教えて下さい *_*; program #include <iostream.h> int main(void){ cout << "matumoto"; } ---- 最初 void main(void)とした所、怒られたため、int ...としましたが、更に以下のようなエラーが出力されてしまいました 未定義の 最初に参照している シンボル ファイル std::ios_base::Init::~Init [in-charge]()/var/tmp//ccxj7cux.o std::ios_base::Init::Init[in-charge]()/var/tmp//ccxj7cux.o std::cout /var/tmp//ccxj7cux.o std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)/var/tmp//ccxj7cux.o __gxx_personality_v0 /var/tmp//ccxj7cux.o ld: 重大なエラー: シンボル参照エラー。a.out に書き込まれる出力はありません。 collect2: ld returned 1 exit status [環境] Solaris 8 gcc %>>gcc -ver Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.3/specs Configured with: ../configure --disable-nls --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld Thread model: posix gcc version 3.3 すみませんが、宜しくお願い致します。

  • cygwinでOpenGLのコンパイルができない

    cygwinでOpenGLのコンパイルをしようとしているのですが出来ません。 gcc -o3 -lglut32 -lglu32 -lopengl32 sample.c と入力すると /usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld: -lglut32 が見つかりません collect2: エラー: ld はステータス 1 で終了しました と表示されます。 cygwinのパッケージはすべてインストールしたので足りないものはないと思います。 何が問題なのでしょう。 ご存知の方は回答をよろしくお願致します。

  • makeでのエラー

    makeをした際に、 /usr/local/lib/gcc-lib/h8300-elf/3.3/../../../../h8300-elf/bin/ld.real:skipping incompatible /usr/local/lib/gcc-lib/h8300-elf/3.3/libgcc.a when searching for libgcc.a /usr/local/lib/gcc-lib/h8300-elf/3.3/../../../../h8300-elf/bin/ld.real: cannot find libgcc.a collect2: ld returned 1 exit status make: ***[basic1] Error 1 と表示されるのですが、このエラーとはどういう意味なのでしょうか? わかる方教えてください。お願いします。

  • xcodeのビルド時のエラー

    ご覧頂き有難うございます。 現在、opencvを使ってiPhoneアプリの開発を試みているところです。 環境-------- Mac OS 10.6 X Code 3.2 iOS SDK 4.3 open cv 2.2 ------------ http://iphone.moo.jp/app/ このサイトを参考にガウシアンフィルタのプログラムを 組んで実行すると以下のエラーが出ます。 ------------------------------------------------------------------------- Ld build/Debug-iphonesimulator/Test.app/Test normal i386 cd /Users/******/Desktop/Test setenv MACOSX_DEPLOYMENT_TARGET 10.6 setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/****/Desktop/Test/build/Debug-iphonesimulator -L/usr/local/lib -L/Users/keisukeyamamoto/Desktop/Test/../OPENCV -F/Users/*****/Desktop/Test/build/Debug-iphonesimulator -filelist /Users/*****/Desktop/Test/build/Test.build/Debug-iphonesimulator/Test.build/Objects-normal/i386/Test.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -o /Users/*****/Desktop/Test/build/Debug-iphonesimulator/Test.app/Test ld: duplicate symbol _main in /Users/****/Desktop/Test/build/Test.build/Debug-iphonesimulator/Test.build/Objects-normal/i386/fastGaussian.o and /Users/*****/Desktop/Test/build/Test.build/Debug-iphonesimulator/Test.build/Objects-normal/i386/main.o collect2: ld returned 1 exit status Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 failed with exit code 1 Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 failed with exit code 1 ------------------------------------------------------------------------- ググッても中々解決しなかったので質問させていただきました。 何卒宜しくお願い致します。 初心者ですので足りない情報があるかと思いますが、補足が必要な場合は すぐに対応します!

    • 締切済み
    • Mac
  • エラーでg95のコンパイルが出来ません.

    仮想PC上にUbuntu(Ubuntu 14.04)をインストールして,fortran(g95)を使用したいのですが以下のようなエラーが出てしまいコンパイルできません. ld: crt1.o が見つかりません: そのようなファイルやディレクトリはありません ld: crti.o が見つかりません: そのようなファイルやディレクトリはありません libc6-devは最新版をインストールしてあります. crt1.o・crti.oにシンボリックリンクを張ればよいのかと思い,Ubuntu内を探したのですが見つけることが出来ませんでした. インストールしたバージョンは Ubuntu 14.04 の64bit版 g95-x86_64-64-linux です. どなたかわかる方がいらっしゃいましたらよろしくお願いいたします.

  • mac(leopard)でgslが使えません

    初めまして、私は最近macを使うことになった者です。 mac(lepard)に数値計算ライブラリgslを入れて計算をしようとしたのですが、コンパイル時に以下のエラーが出てしまいます。 ld: warning in /usr/local/lib/libgsl.dylib, file is not of required architecture ld: warning in /usr/local/lib/libgslcblas.dylib, file is not of required architecture このエラーはgccでコンパイルした時には出ず、問題なく実行することができます。 まだmacに慣れておらず、一通り調べてみたのですが解決できませんでした。 環境は コンパイラ:intel C++ Compiler ver.10.1 PC : leopard 10.5.1 gsl:ver. 1.10 です。 どなたかわかる方がいらっしゃいましたら、お力をお貸しいただきたいです。 よろしくお願いいたします。

  • Cコンパイル時にポスグレのライブラリが見つからない

    LinuxでC言語にてコンパイルをする際に(makefileを使用)にポスグレのライブラリが見つからないという下記エラーが出力されます。 しかしポスグレのライブラリはmakefileにて指定した箇所(-Lオプションにて/opt/prov/pgsql/libを指定)に存在しています。 makefileに誤りがなく、シンボリックリンクも正確に貼られていると考えると他にどのような原因が考えられるのでしょうか?(環境変数の設定等でしょうか??) エラー ------------- /usr/bin/ld: skipping incompatible /opt/prov/pgsql/lib/libpq.so when searching for -lpq /usr/bin/ld: skipping incompatible /opt/prov/pgsql/lib/libpq.a when searching for -lpq /usr/bin/ld: cannot find -lpq ボスグレのライブラリは存在している ---------- -rw-r--r-- 1 postgres postgres 126994 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.a lrwxrwxrwx 1 postgres postgres 12 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.so -> libpq.so.2.2 lrwxrwxrwx 1 postgres postgres 12 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.so.2 -> libpq.so.2.2 -rwxr-xr-x 1 postgres postgres 90659 X月 XX 16:XX /opt/prov/pgsql/lib/libpq.so.2.2

専門家に質問してみよう