linuxとmacでc++コンパイル

OptSeqのバージョナップに伴い,元の開発環境のWindowsから MacとUbuntuでC++のソースをコンパイル必要が出てきた.

環境整備とmakeファイルのメモをとっておく.

Macはbrew install gccでインストールする.makeの中で g++-10を呼ぶようにする.CC=g++-10(これは失敗;OSのバージョンによってはライブラリが違って動かない!) 

cmakeをbrewでインストールしてから,c++14を指定する.CMakeLists.txtはこんな感じ.

cmake_minimum_required(VERSION 2.8)
add_definitions("-Wall -std=c++14")
add_executable(Main
optseq.cpp   
csp.cpp
iodata.cpp
search.cpp
construct.cpp
csp_linear.cpp
optseqimpl.cpp
construct_reverse.cpp
solve.cpp
)

cmake . でmakefileを作ってから,make でコンパイルしたあと,chmod +x ファイル名を忘れずに.

​UbuntuはWindows Subsystem for Linux (WSL)で入れる.

Windowのドライブは/mnt/cにあるので,その下辺りにフォルダを作って,C++のソースを配置する.

sudo apt update したあと,sudo apt install gcc と sudo apt install build-essentialsで,開発環境を入れる.コンパイラはg++の方を設定

CC=g++

これで実行ファイルができる.

他の環境で試していないので,cmakeを使ったほうが安全かもしれない.

追記)
結局Windowsでコンパイルしたlinuxはライブラリ不足でcloud環境では動かなかった.GCPのCloud Shellでやったら動いた.GCPは無料枠もあるので,もっていて損はない.

ファイルのやりとりはエディタがついているので,そのメニューですれば簡単だ.

この記事が気に入ったらサポートをしてみませんか?