のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,691,343人
昨日:no data人
今日:
最近の注目
人気の最安値情報

元スレCygwin + MinGW + GCC 相談室 Part 3

gcc覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 932 + - cannotfind + - cp932 + - FreeHDL + - heap + - known + - log4cxx + - WinMain@16 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
51 = :

全部入れたら2Gくらいか

54 = :

>>53
誘導ありがとうございます
向こうで聞いてみます

55 = :

>>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'

56 = :

>>55
せめてどんなプログラムを書いたか、どんなコマンドを入力したか、くらいは書こうや。

57 = :

>>55
C標準ライブラリともリンクしてあげてください。

58 = :

>>55-56
すみません。

①Cで以下のようなソースを書きました。
#include <stdio.h>

int main()
{
printf("Hello World!");

return 0;
}

②GCC(MinGW 3.4.2)で -S 付けてアセンブリのソースを出力
③出てきたアセンブリを as を使い ld を実行すると>>55のようなエラーでました。

以上です。

60 = :

>>58
リンカのオプションは?

61 = :

>>60
リンカのオプションは何も付けていません。
付けないよまずいですかね?

62 = :

みんなデバッガとして何を使ってる?

64 = :

だーから MinGWとは、
ゴールデンウィークが最小限であることを言い表す言葉なんだって。

65 = :

VC

66 = :

insight使ってる
軟弱者でスマン

67 = :

gdb

70 = :

autoconfって必要? 一発でまともにconfigure通ったことが無い。

71 = :

autotoolizeされたソフトであっても Cygwin や MinGW+MSYS で
テストされていないものが多いからそんなもんだよ…
必要なライブラリが足りてないとかだったら >>70 が悪いだけだが…

75 = :

cmd.exe とか?
「cygwin上の」って意味が分からんから外れてるかもしれんが。

76 = :

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程度しか出て来ず、解決に至りません。

77 = :

いまどきエミュ環境なんか使ってるなよ。
VMか、colinuxか、本物のLinuxを入れるのが一番いい。

78 = :

>>76
そのasのラッパに、asの実体のパスがうまく伝わってないっぽいな。
本来なら exec ~/as -Qy -o となるところが exec -Qy -o となっているんだろう。

cygwin上でlinuxのcrossなんてきちんと検証されてないだろ。
自力で解決できないならあきらめろ。

79 = :

>>76
クロスアセンブラは用意してある?

81 = :

>>77
Win32 のコマンドラインアプリと、UNIX 由来のツールをパイプでつなげるときはどうするの
WINE だったら大爆笑だけど

82 = :

パイプでつなげて使いたいようなWin32のコマンドラインアプリって・・・ある?

84 = :

>>81
だから本来そういう用途のためのcygwinだろ。
何が悲しくてwin32でlinuxのcrossを動かさにゃならんのだ。逆ならともかく。

85 = :

UNIX系のコマンドは正常のときは比較的無口で
エラーのときは情報を必要十分な量だけ的確に吐くから
パイプで繋げるときに有効性が出てくるんだけど

Windows系のそれは無駄口が多いくせに
その割に状況を正確に把握出来ないほど
決定的に不足していて使い物にならないことが多い

86 = :

linuxで試しにdirと打ってみたらファイル一覧が表示された
lsのエイリアスが張ってあるな

88 = :

>>85
対象としてるユーザ層がそもそも違うOSだからな。

90 = :

>>82
自分でデータ処理するための細々したツールをmingwで書いてパイプでつないでるよ。
mingwだからwin32アプリだ。
つーか、そうしたいからcygwinやらmingwやら使ってるんじゃないの?
GUIアプリ作りたきゃ、タダのvisual studio使ったほうがマシだよ。

91 = :

>>90
その用途だと mingw である必然がないと思うが…
CUI でも Visual Studio 使って作ればいいんじゃね?
# cygwin で POXIS API使って作りたいとか cygwin 上の
# UNIX ライクツールと組み合せて使うとかならわかるんだが…

92 = :

個人の自由にけちをつける変態スレはここですか?

93 = :

公共の場でオナニーをする奴はけちつけられると思うヨー

95 = :

下記のページを見て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

原因は何でしょうか?

96 = :

>>96
--driver-name gccを取ったりしたらうまくいかない?

97 = :

>>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

98 = :

SJISコードがうごかねー。
いい加減、gccもデフォルトでSJISに対応してくれよな。。。
せめて単純追加オプションで。

99 = :

>>98
つ ttp://www.noppi.jp/diary/?date=20041126

100 = :

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
等を追加すると正常動作するものと思われます。
以上、ご報告まで。間違いがあれば指摘お願いします。


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : - 932 + - cannotfind + - cp932 + - FreeHDL + - heap + - known + - log4cxx + - WinMain@16 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について