全ての記事をそのまま表示している。
とても重くなってしまっているかもしれない。
問題
CMake で set_property(TARGET hoge PROPERTY CXX_STANDARD 17)
としても
CMake Error at CMakeLists.txt:16 (add_executable):
CXX_STANDARD is set to invalid value '17'
というエラーが出る。
原因
ppaから入れたCMakeのバージョンが古かった。
CMake 3.8 以上でないと PROPERTY CXX_STANDARD
を17にすることができない。
解決法
CMakeをアップデートする。
CMakeLists.txt に cmake_minimum_required(VERSION 3.8)
を追加する。
参考
CXX_STANDARD — CMake 3.7.2 Documentation
CXX_STANDARD — CMake 3.8.2 Documentation
前に書いたプログラムがそのままになっていたので供養。ソースコードはは ここ にある。
解説
デスクトップとブラウザ上で同じように動くグラフィカルなプログラムを作って見たかったので作った。
やりたいことはできた。
絵を描くアルゴリズムは 前にpythonで実装したもの を関数型っぽく書き直したものを使った。
そのためこのリポジトリの README に貼ってある画像はすべて作れるはずだが、
さすがに時間が無いので作り直しはしていない。
問題
glew とか GLFW とか NVidia のドライバとかを一通りインストールしたにもかかわらず OpenGL の hello world プログラムがコンパイルできない。
原因
なぜか知らないがリンクに必要なオブジェクトファイルが削除され、シンボリックリンクをたどった先が存在しないファイルになっていた。
解決法
dpkg -S
コマンドでどのオブジェクトファイルがどのパッケージでインストールされたかを確認して、そのパッケージを sudo apt install --reinstall
する。
例えば
$ dpkg -S /usr/lib/x86_64-linux-gnu/mesa/libGL.so
libgl1-mesa-dev:amd64: /usr/lib/x86_64-linux-gnu/mesa/libGL.so
となる。
octave の本質的でない部分についてのメモ。
問題
emacs でいつも使っているキーボードバインディングを使おうとすると Autoloading failed to define function HOGE
と出て実行できない。
原因
パッケージのアップデートで HOGE
関数の名前が変更されていた。
解決法
呼び出す関数の名前を変える。
備考
定義されていない関数を呼び出した場合、普通は void-function HOGE
というおなじみのエラーが表示されるのですぐ分かるが、今回のエラーは初めて見たので解決に時間がかかった。
今まで見なかったこのエラーが出た原因は HOGE
のキーボードバインディングを use-package
で定義していたことにあった。
(use-package package-name
:bind
(:map global-map
("KEY" . HOGE)))
とすると、 KEY
を押したときに HOGE
が autoload される。その結果エラーメッセージが見慣れないものになる。