私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレCygwin + MinGW + GCC 相談室 Part 3
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ★
レスフィルター : (試験中)
質問するスレを間違っていましたら誘導お願いします
アセンブラにて
.global hoge
.type hoge, @function
という書き方があるのですが、.type以降の意味はなんでしょうか?
アセンブラにて
.global hoge
.type hoge, @function
という書き方があるのですが、.type以降の意味はなんでしょうか?
>>53のスレで聞きましたけど
WindowsでGAS使いたいけど、どうすればいいのでしょう?
asm文書いてコンパイルしてリンカすると以下のようにエラーになってしまいます。
ld: warning: cannot find entry symbol _mainCRTStartup; defaulting to 00401000
a.out(.text+0x21):hello.c: undefined reference to `_alloca'
a.out(.text+0x26):hello.c: undefined reference to `__main'
a.out(.text+0x32):hello.c: undefined reference to `printf'
WindowsでGAS使いたいけど、どうすればいいのでしょう?
asm文書いてコンパイルしてリンカすると以下のようにエラーになってしまいます。
ld: warning: cannot find entry symbol _mainCRTStartup; defaulting to 00401000
a.out(.text+0x21):hello.c: undefined reference to `_alloca'
a.out(.text+0x26):hello.c: undefined reference to `__main'
a.out(.text+0x32):hello.c: undefined reference to `printf'
>>55
せめてどんなプログラムを書いたか、どんなコマンドを入力したか、くらいは書こうや。
せめてどんなプログラムを書いたか、どんなコマンドを入力したか、くらいは書こうや。
>>55
C標準ライブラリともリンクしてあげてください。
C標準ライブラリともリンクしてあげてください。
>>58
リンカのオプションは?
リンカのオプションは?
autotoolizeされたソフトであっても Cygwin や MinGW+MSYS で
テストされていないものが多いからそんなもんだよ…
必要なライブラリが足りてないとかだったら >>70 が悪いだけだが…
テストされていないものが多いからそんなもんだよ…
必要なライブラリが足りてないとかだったら >>70 が悪いだけだが…
cygwinホストからlinuxをターゲットにクロスコンパイルしようと思い、
gcc-4.2.0 のソースを ~/gcc/gcc-4.2.0.tar.bz2 に落としてきて展開し、その ~/gcc/gcc-4.2.0 で
$ ./configure --target=i686-pc-linux --enable-languages=c,c++ --prefix=/usr/local/gcc-4.2.0
$ make CC=gcc LANGUAGES="c c++"
/home/username/gcc/gcc-4.2.0/host-i686-pc-cygwin/gcc/as: line 2: exec: -o: invalid option
exec: usage: exec [-cl] [-a name] file [redirection ...]
make[2]: *** [crtbegin.o] Error 1
make[1]: *** [all-gcc] Error 2
make: *** [all] Error 2
と出ました。
因みに as の中身は、 exec "$@" で、の引数は下のようでした。
-Qy -o crtbegin.o /cygdrive/c/DOCUME~1/username/LOCALS~1/Temp/ccbwsMK0.s
コマンドが見当たりません。
エラーの原因が分かりません。
ググっても英語のBBS程度しか出て来ず、解決に至りません。
gcc-4.2.0 のソースを ~/gcc/gcc-4.2.0.tar.bz2 に落としてきて展開し、その ~/gcc/gcc-4.2.0 で
$ ./configure --target=i686-pc-linux --enable-languages=c,c++ --prefix=/usr/local/gcc-4.2.0
$ make CC=gcc LANGUAGES="c c++"
/home/username/gcc/gcc-4.2.0/host-i686-pc-cygwin/gcc/as: line 2: exec: -o: invalid option
exec: usage: exec [-cl] [-a name] file [redirection ...]
make[2]: *** [crtbegin.o] Error 1
make[1]: *** [all-gcc] Error 2
make: *** [all] Error 2
と出ました。
因みに as の中身は、 exec "$@" で、の引数は下のようでした。
-Qy -o crtbegin.o /cygdrive/c/DOCUME~1/username/LOCALS~1/Temp/ccbwsMK0.s
コマンドが見当たりません。
エラーの原因が分かりません。
ググっても英語のBBS程度しか出て来ず、解決に至りません。
いまどきエミュ環境なんか使ってるなよ。
VMか、colinuxか、本物のLinuxを入れるのが一番いい。
VMか、colinuxか、本物のLinuxを入れるのが一番いい。
>>76
そのasのラッパに、asの実体のパスがうまく伝わってないっぽいな。
本来なら exec ~/as -Qy -o となるところが exec -Qy -o となっているんだろう。
cygwin上でlinuxのcrossなんてきちんと検証されてないだろ。
自力で解決できないならあきらめろ。
そのasのラッパに、asの実体のパスがうまく伝わってないっぽいな。
本来なら exec ~/as -Qy -o となるところが exec -Qy -o となっているんだろう。
cygwin上でlinuxのcrossなんてきちんと検証されてないだろ。
自力で解決できないならあきらめろ。
>>82
dir | more
dir | more
UNIX系のコマンドは正常のときは比較的無口で
エラーのときは情報を必要十分な量だけ的確に吐くから
パイプで繋げるときに有効性が出てくるんだけど
Windows系のそれは無駄口が多いくせに
その割に状況を正確に把握出来ないほど
決定的に不足していて使い物にならないことが多い
エラーのときは情報を必要十分な量だけ的確に吐くから
パイプで繋げるときに有効性が出てくるんだけど
Windows系のそれは無駄口が多いくせに
その割に状況を正確に把握出来ないほど
決定的に不足していて使い物にならないことが多い
>>85
対象としてるユーザ層がそもそも違うOSだからな。
対象としてるユーザ層がそもそも違うOSだからな。
>>82
自分でデータ処理するための細々したツールをmingwで書いてパイプでつないでるよ。
mingwだからwin32アプリだ。
つーか、そうしたいからcygwinやらmingwやら使ってるんじゃないの?
GUIアプリ作りたきゃ、タダのvisual studio使ったほうがマシだよ。
自分でデータ処理するための細々したツールをmingwで書いてパイプでつないでるよ。
mingwだからwin32アプリだ。
つーか、そうしたいからcygwinやらmingwやら使ってるんじゃないの?
GUIアプリ作りたきゃ、タダのvisual studio使ったほうがマシだよ。
>>90
その用途だと mingw である必然がないと思うが…
CUI でも Visual Studio 使って作ればいいんじゃね?
# cygwin で POXIS API使って作りたいとか cygwin 上の
# UNIX ライクツールと組み合せて使うとかならわかるんだが…
その用途だと mingw である必然がないと思うが…
CUI でも Visual Studio 使って作ればいいんじゃね?
# cygwin で POXIS API使って作りたいとか cygwin 上の
# UNIX ライクツールと組み合せて使うとかならわかるんだが…
下記のページを見てdllを作ろうとしています。
トップページ
http://www2.atwiki.jp/ccw/pages/4.html
見ているところは下のほうの GCC - DLL の作成 のところです。
ページに書いてある通りのファイル名のファイルを作成し、中身はコピーペーストで
貼り付けました。
ページ内の gcc -c calc.c はうまくいっていると思います。
(通常のアプリで -c でコンパイルしたものをリンクすると正常動作するので)
ところが次の
dllwrap -k -def calc.def --driver-name gcc -o calc.dll calc.o
が失敗します。エラーメッセージは下記です。
D:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: Can't open base file \/cca02560.base
collect2: ld returned 1 exit status
D:\MinGW\bin\dllwrap.exe: gcc exited with status 1
原因は何でしょうか?
トップページ
http://www2.atwiki.jp/ccw/pages/4.html
見ているところは下のほうの GCC - DLL の作成 のところです。
ページに書いてある通りのファイル名のファイルを作成し、中身はコピーペーストで
貼り付けました。
ページ内の gcc -c calc.c はうまくいっていると思います。
(通常のアプリで -c でコンパイルしたものをリンクすると正常動作するので)
ところが次の
dllwrap -k -def calc.def --driver-name gcc -o calc.dll calc.o
が失敗します。エラーメッセージは下記です。
D:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: Can't open base file \/cca02560.base
collect2: ld returned 1 exit status
D:\MinGW\bin\dllwrap.exe: gcc exited with status 1
原因は何でしょうか?
>>96
試してみたところ同じですね。
ところで、一応解決しました。
過去にインストールした古い dllwrap がPC内に残っているのを発見したので、
それに差し替えたところ正常動作しました。
新しいものだと何か設定が必要なのか、
あるいは私のPCの環境が新しいdllwrapに悪影響を及ぼすのか、
それともdllwrapのバクなのか(可能性薄いかな)良くわからんです。
正常動作したバージョンは下記です。
DllTest> dllwrap --version
GNU D:\MinGW\bin\dllwrap.exe 2.15.94 20050118
うまくいかなかったバージョンは下記です。
DllTest> dllwrap --version
GNU D:\MinGW\bin\dllwrap.exe 2.16.91 20060119
確認したソースは下記です。
http://www.borujoa.org/upload/source/upload12756.zip
試してみたところ同じですね。
ところで、一応解決しました。
過去にインストールした古い dllwrap がPC内に残っているのを発見したので、
それに差し替えたところ正常動作しました。
新しいものだと何か設定が必要なのか、
あるいは私のPCの環境が新しいdllwrapに悪影響を及ぼすのか、
それともdllwrapのバクなのか(可能性薄いかな)良くわからんです。
正常動作したバージョンは下記です。
DllTest> dllwrap --version
GNU D:\MinGW\bin\dllwrap.exe 2.15.94 20050118
うまくいかなかったバージョンは下記です。
DllTest> dllwrap --version
GNU D:\MinGW\bin\dllwrap.exe 2.16.91 20060119
確認したソースは下記です。
http://www.borujoa.org/upload/source/upload12756.zip
SJISコードがうごかねー。
いい加減、gccもデフォルトでSJISに対応してくれよな。。。
せめて単純追加オプションで。
いい加減、gccもデフォルトでSJISに対応してくれよな。。。
せめて単純追加オプションで。
>>98
つ ttp://www.noppi.jp/diary/?date=20041126
つ ttp://www.noppi.jp/diary/?date=20041126
dllwrapに関して質問した経緯上、引き続きdllwrapを調査していたのですが、
どうやら
http://www.mingw.org/
からリンクが貼られている
http://sourceforge.net/project/showfiles.php?group_id=2435
の
binutils-2.17.50-20060824-1.tar.gz
に問題があるようです。
おそらく、
binutils-2.17.50-20060824-1.tar.gzのdllwrapを使用すると >>95 が再現するものと思われます。
(確認する根性のある人は従来のdllwrap.exeはバックアップしておいてください。)
原因はTMPDIRもしくはTMPもしくはTEMPが正しく設定されていない状態でコンパイルされたdllwrap
が、binutils-2.17.50-20060824-1.tar.gzに含まれているせいだと思われます。
それらが設定されていない場合、stdio.hの #define _P_tmpdir "\\" が中間ファイルの先頭に配置され、
中間ファイルの作成に支障をきたすようです。
>>95と同じ症状で困っている方は、dllwrapのオプションに
-base-file aazz1199.base
等を追加すると正常動作するものと思われます。
以上、ご報告まで。間違いがあれば指摘お願いします。
どうやら
http://www.mingw.org/
からリンクが貼られている
http://sourceforge.net/project/showfiles.php?group_id=2435
の
binutils-2.17.50-20060824-1.tar.gz
に問題があるようです。
おそらく、
binutils-2.17.50-20060824-1.tar.gzのdllwrapを使用すると >>95 が再現するものと思われます。
(確認する根性のある人は従来のdllwrap.exeはバックアップしておいてください。)
原因はTMPDIRもしくはTMPもしくはTEMPが正しく設定されていない状態でコンパイルされたdllwrap
が、binutils-2.17.50-20060824-1.tar.gzに含まれているせいだと思われます。
それらが設定されていない場合、stdio.hの #define _P_tmpdir "\\" が中間ファイルの先頭に配置され、
中間ファイルの作成に支障をきたすようです。
>>95と同じ症状で困っている方は、dllwrapのオプションに
-base-file aazz1199.base
等を追加すると正常動作するものと思われます。
以上、ご報告まで。間違いがあれば指摘お願いします。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
みんなの評価 : ★類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 7 (996) - [97%] - 2014/9/21 2:15
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- Cygwin + MinGW + GCC 相談室 Part 5 (981) - [97%] - 2011/4/6 2:32
- Cygwin + MinGW + GCC 相談室 Part 4 (1001) - [97%] - 2010/3/23 18:31 ☆
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について