元スレGCCについて part9
gcc覧 / PC版 /みんなの評価 : ○
805 = :
>>798
ご名答!
806 = :
ハード開発中かどうか関係あるのか?
807 = :
プログラマに必要なのは想像力だぞ
808 = :
常識で考えてる人が多いよ。
809 = :
>>807
妄想力なら負けないよ
810 = :
>>806
SDRAMがちゃんと動かなくって、仕方なく内蔵RAMに配置するとか
CSの配線が間違ってて、違う領域にマップされてたとか
まあ、PCしか触らなきゃLDなんて無縁だろうな
811 = :
昔はよく書いたけどなあ
812 = :
アドレス代わっても.hogeセクションはなくならないし、
>>778は別の理由じゃないか?
813 = :
エラーチェックの話だろ。視野が狭いな
そんなんじゃタダのコーダになっちまうぞ
814 = :
一般的なエラーチェックなら、ハード開発中は別段関係ない。
815 = :
うん。
例えばhogeセクションの綴りを間違えてるケースも考えられる。
fooがもっと複雑で、aaaa.o以外のモジュールも含まれてて、
そのモジュールの間とかでカレントアドレス(".")を使ってラベル定義してたりすると
ラベルのアドレスが意図と違うから、全然関係ない箇所でリンクエラー出したりする。
根本原因でエラーを表示して欲しいというのは当然のこと
816 = :
一つの.oに閉じている事なら、リンカ使わなくてもチェックできるし、
またその方がいいだろうしね。
817 = :
gccを使っていて、共有ライブラリを作ってある関数を公開したのですが、
うまく公開できずに困っています。
以下のようなオプションを付ければいいと分かったのですが、
-Wl,--version-script,libfoo.map
実際に実行すると以下のようなエラーが出てしまいます。
/usr/bin/ld:libfoo.map:3: syntax error in VERSION script
libfoo.mapは以下の通りです。
{
global: foofunc;
local: *;
};
libfoo.mapをどのように修正したらよいのでしょうか?
818 = :
>>817
自己解決しました。
実際のlibfoo.mapは以下の通りでした。
{
global: foofunc0;
global: foofunc1;
global: foofunc2;
local: *;
};
以下のように修正したところ問題なく動作するようになりました。
{
global: foofunc0;
foofunc1;
foofunc2;
local: *;
};
お騒がせいたしました。
819 = :
cygwin の gcc-3 (GCC) 3.4.4 を使って
猫でもわかるの最初のサンプルを文字コードをutf8 の ファイル名 foo.cpp で保存して
gcc-3 -mwindows -foo.cpp
してできたファイルを実行させるとタイトルが文字化けするんですが
ファイルの文字コードを sjis にすると文字化けせずに表示できました。
日本語以外の文字も使いたいので utf8 のまま、
出力を文字化けさせずにするにはどうすれば良いですか?
820 = :
コンソール画面の文字コードがsjisなんじゃないの?
823 = :
>>820-822…すいません。 URL貼り忘れてました。
http://homepage2.nifty.com/c_lang/sdk/sdk_00.htm
のウィンドウを表示するサンプルです。
このアドレスを >>819 の3行目に入れてたつもりでした…。
824 = :
cygwinのmingw系はlibiconv使わないようになってたような
825 = :
>>823
NKFをインストールして foo | nkf -w とするのが簡単かと。
827 = :
>>824
libiconv がないからできないということでしょうか?
>>825
どのnkf使えばよいかわからなかったので
http://www.vector.co.jp/soft/win95/util/se295331.html から落としてきた
nkf.exe を使って試しましたが文字化けしたままでした。
>>826
ただ無知なだけです。
移動します。
828 = :
からかってる云々はnkfについてだから君は気にしなくていい
830 = :
プログラム書け
831 = :
音の処理はOSによって違う
833 = :
gcc 4.6.0 を binutils と一緒にビルドしてみたら
-flto 使ってリンクするとき
collect2: 'ld' が見つかりません
といわれて失敗するようになった。
-flto 使わなければ普通にリンクできるし、
システムの binutils を使ってるときも大丈夫だったのに……
わけわからん
835 = :
普段自前でビルドしたりしない初心者なんですが、gccをビルドする手順をアホかってくらい丁寧に載せているページに心当たりありませんか?
上手く出来ずに丸一日潰してしまいました・・・
836 = :
ビルドする環境とarchで検索してみな
837 = :
>>836
http://www29.atwiki.jp/akcnv/pages/28.html
http://d.hatena.ne.jp/syohex/20110122/1295678868
このあたりを参考にして色々やってみてそれらしきものはできたのですが、
home/myname/usr/g++ test.cpp などとやってもコンパイルできません
現状のバージョンからビルドしたバージョンに置き換えるにはどうしたらいいでしょう・・・
840 = :
64bitOS入れればいいじゃん
32bitで64bitの環境を作るのは苦行かも
841 = :
>>837
> home/myname/usr/g++ test.cpp などとやってもコンパイルできません
どう失敗するのか書けよw
./configure --prefix=/home/myname/g++ とか
./configure --prefix=/usr/local/g++ とか
./configure --prefix=/opt/g++ とかすれば、普通にインストール出来るだろ。
> 現状のバージョンからビルドしたバージョンに置き換えるにはどうしたらいいでしょう・・・
置き換えはやらないほうがいいね。
併存させた方がいい。置き換える程の知識はないでしょ。
自前の使いたければ、
PATH=/home/myname/g++:$PATH
すればいいだけだし。
842 = :
>>841
そういえば書いてませんでした情報の小出し済みません;;
>error trying to exec 'cc1plus': execvp: No such file or directory error:
的なエラー文でした
再ビルドが終わったら指摘していただいた方法を試してみます
EeePCとはいえビルドに6時間とか
843 = :
cc1plusの起き場所は実行時に"built-in specs"を参照してるんだけど、
gccをコンパイル時に想定されたところと違うところに置くとそうなる。
--prefixで指定した場所にインストールできてるの?
845 = :
フルパスで起動すると失敗する。(PATHが通ってればうまくいくかも)
そういう時はgccをモゴモゴするしか
846 = :
gccをモフモフしたいです!!
847 = :
パフパフ出来れば最高かも
848 = :
ほむほむしたいです。
849 = :
>>845
> フルパスで起動すると失敗する。(PATHが通ってればうまくいくかも)
関係ない。cc1plusはもともと$PATHとは無縁なところにある。
850 = :
悪い、失敗するのはcmd.exe上だった
みんなの評価 : ○
類似してるかもしれないスレッド
- GCCについて part8 (763) - [95%] - 2009/3/11 8:47 ☆
- GCCについて part10 (538) - [90%] - 2018/7/5 20:30
- 【激遅】AppleGCC【絶望】 (111) - [18446744073709551607%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について