[Ubuntu]クロスコンパイル環境構築

TIPS

Windows環境向けの .dll ファイルをUbuntu上で作成する「クロスコンパイル」という非常に強力で便利な方法があります。

Ubuntu上でWindows向けのコンパイル環境(MinGW-w64)を構築する手順をステップ・バイ・ステップで解説します。Windowsで環境を作るよりもコマンド一発で終わるため、実は非常に簡単です。

ステップ 1:パッケージリストの更新

まずはUbuntuのシステムを最新状態にします。端末(ターミナル)を開き、以下のコマンドを実行します。

sudo apt update
sudo apt upgrade -y

ステップ 2:MinGW-w64(クロスコンパイラ)のインストール

Ubuntu上でWindows用の実行ファイル(.exe)やライブラリ(.dll)を作成するためのコンパイラをインストールします。

sudo apt install mingw-w64 -y

これだけで、Windows向けの64ビット版および32ビット版のC/C++コンパイラがすべてインストールされます。

ステップ 3:ネイティブコンパイラのインストール(推奨)

Ubuntu自身のプログラムをコンパイルするための標準ツールセットも入れておくと何かと便利です(すでにインストールされている場合も多いです)。

sudo apt install build-essential -y

ステップ 4:UbuntuでのDLLコンパイル方法

環境構築は以上で完了です。C++コードをUbuntu上でコンパイルして、Windows用の .dll を作成するには、以下のコマンドを使用します。

64ビット版のWindows向けにコンパイルする場合:

x86_64-w64-mingw32-g++ -shared -o 20_SMA_EMA.dll 20_SMA_EMA.cpp -Wl,--kill-at
  • x86_64-w64-mingw32-g++: 64ビットWindows向けのC++コンパイラです。
  • -shared: DLL(共有ライブラリ)を作成するオプションです。
  • -Wl,--kill-at: Windows API(__stdcall)特有の関数名の文字化け(@マークなどの装飾)を防ぎ、外部アプリケーションで正しく認識させるための必須オプションです。

コメント

タイトルとURLをコピーしました