ubuntuでどうしてもswift開発がしたかった話(反省談)
いきなり結論:
linuxbrewを導入して、ビルドしたライブラリはlinuxbrewで内しか使えないという話。
詳細:
ubuntuのhome直下に
ユーザーフォルダ
linuxblew
2つのユーザーフォルダができること
になり、ユーザーはubuntuのライブラリから。
linuxblewは、linuxbrewのライブラリから。
それぞれビルドとは異なる別々cmakeやpythonを引っ張ってくることになります。
例:
例えば、linuxbrewでopencvをC++でビルドしたものを
t13row(ユーザー)側で使って、また別のモノを作る(もしくは使用)しようとすると
こうなります。
これを見ると、『numpyのバージョンが違うだけじゃねぇの?』と思う方もいるかもしれませんが、linuxbrewでビルドしたopenCVで、ubuntuのpythonライブラリを呼び出すと、こうなるんでねぇ・・・
要は、何が言いたかっていうとubuntu内でbrewを導入すると、
こういう弊害がありますよっていう話。
ちなみにMacOSX-sdk各種も試しました
ubuntuでのモバイル開発は、dartとFlutter(android)には向いてるけど、
iosの開発は無理があるとしみじみと思った。
確かに、bash(シェル)上で
swiftのコンパイルやビルド、デバッグはできるけど、
linuxbrewは効率悪すぎると身を持って反省。
ちなみに、swiftenvを使っても
現行のUbuntu22.04には対応してない模様。
※2022.1.15現在
後処理:
linuxbrewを削除すると、何故か優先的にpython-swiftclient 3.13.0
が採用され、『ワイのswiftどこ行ったの?』ってことで、swift --version
で探すとpython-swiftが優先されて呼び出されているので、改めて最新版をインストール。
(懲りてないんかいw)
・swiftの再インストール手順(一番シンプルなやり方)
swift公式から
上記のやり方でもいいのですがシンプルに
ダウンロード⇒/usr/local内にswiftというフォルダを作成
sudo mv swift-5.5.2-RELEASE-ubuntu20.04.tar.gz /usr/local/swift
ダウンロードしてきたパッケージを解凍せずにusr/localに移動後、解凍
(たぶんホーム内でもPATHを通せば使えるだろうけど1手間惜しまず)
.bashrc直下に
export PATH=/usr/local/swift/swift-5.5.2-RELEASE-ubuntu20.04/usr/bin
を記入して保存
vscode内でも、ちゃんと動作することを確認
(ドット・インストールで勉強中ですわせん💦)
・・・とまぁ、Ubuntuでswiftやったり、Unrialengineやったりしてみたんですけど、ゲーム開発はwindowsの方がDirectXの画質が一番だし、iphoneアプリはMacの方がいいと思った。
パラレルデスクトップ流行ってるけど
『餅は餅屋に』任せたほうがいい。
virtualboxとかvmware両方使ってみたけど、自分には合わなかった。
動作のラグがストレスで。
動作を軽くする方法⬇自己責任で
あと各種エミュレーターサイト(使いたい人いたら)
ちなみに、anacondaやAWSその他から、デプロイされたcmakeやpythonなどを使ったビルドでも同じことは起こり得るらしい。
要は、OS純正のcmakeと他のcmakeやpythonが同居してると、エラーの元になるから注意しようね。と言いたい。
Discussion