質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Nim

Nimは、静的型付けプログラミング言語。Pythonの生産性でありながら、C言語のような高いパフォーマンスも持ち併せます。さらに自由度の高い言語で拡張性も重視されています。

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

Q&A

解決済

コンパイル時のアイコン指定でエラー

sakuramochi_py
sakuramochi_py

総合スコア31

Nim

Nimは、静的型付けプログラミング言語。Pythonの生産性でありながら、C言語のような高いパフォーマンスも持ち併せます。さらに自由度の高い言語で拡張性も重視されています。

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

1回答

0グッド

0クリップ

879閲覧

投稿2021/03/11 07:37

編集2021/03/11 07:44

#分からないこと
Nimでアイコン付きのプログラムをコンパイルしようとしたが、よくわからないエラーが出てしまった。解決方法がわからない

#コード
nim_icon.rc

rc

1demo ICON "nim_icon.ico"

cmd

1windres nim_icon.rc -o nim_icon.o

でnim_icon.oを作成

本体 nim_icon.nim

Nim

1{.link: "nim_icon.o"}

実行

cmd

1nim c nim_icon.nim

#エラー

Error

1nim_icon.o' is incompatible with i386:x86-64 output

#試したこと
このサイト
を参考にしてみたが結果変わらず

#環境
nim 1.4.4
windows10

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

1

ベストアンサー

エラーメッセージはリンカが出しています。 オブジェクトファイルが 32 ビット版であるために 64 ビット用の実行ファイルと互換性が無いという内容です。

windres のオプションとして -O pe-x86-64 を加えてみてください。

投稿2021/03/11 08:13

SaitoAtsushi

総合スコア4932

sakuramochi_py👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

sakuramochi_py

2021/03/11 11:23

windres: unknown format type `pe-x86-64' とでてきました。
SaitoAtsushi

2021/03/11 12:36

インストールしたものが正しくないようです。 Nim のほかに GCC を含む Gnu ツールチェインを入れたかと思いますが、どれをいれましたか? 導入したものを具体的に述べてください。
sakuramochi_py

2021/03/11 13:50

おそらくMingGWですかね。そういう系には疎いのですが、C++をコンパイルするためのPATHを入れた記憶があります。これを無くせばいいのでしょうか。
SaitoAtsushi

2021/03/11 16:27

Nim はその性質上、 GCC (以外も選択はできるようですが) およびそれが依存する GNU ツールチェインに依存しています。 つまり Windows では GNU ツールチェインの Windows 版である MinGW を導入しないと Nim で書かれたプログラムを実行ファイルにすることは出来ません。 Nim の公式サイトにも MinGW のパッケージが置いてあります。 Nim にとって MinGW は必要なものなのです。 ですが、 MinGW のパッケージにも色々と種類があり、 Nim の側が想定しているものと食い違うと組み合わせられないこともあります。 基本的には Nim のサイトで提供している MinGW を使うべきです。 そしてもちろん Nim が 64 ビット版であれば MinGW も 64 ビット版でなければおかしなことになるでしょう。 Nim のサイトにある MinGW は入れましたか? その上で C++ 用に別途入れた MinGW と競合してしまったのか、それとも MinGW は C++ 用に入れたものだけしかなくそれが使われていたのかでも状況は異なります。
sakuramochi_py

2021/03/12 01:09

なるほど、丁寧にありがとうございます。 公式のNimのダウンロードサイトからダウンロードしたので正しいMinGWがインストールされていると思いますが、C++の時にダウンロードしたMinGWと被ってしまっているのかもしれません。 PATHなどを調べて一旦すべてのMinGWを取り除いてから再インストールしてみます。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Nim

Nimは、静的型付けプログラミング言語。Pythonの生産性でありながら、C言語のような高いパフォーマンスも持ち併せます。さらに自由度の高い言語で拡張性も重視されています。

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。