kumasysjp

OpenXLSX(Linux/Visual Studio C++) build 成功

OpenXLSX は Linux/Windows でコンパイル可能な,  Excel ファイルを操作するtめのC++ ライブラリである。Excel プロセスを実行することなく操作が可能だ。

さて ライブラリの make file を使えばビルドはできるのだが、かなり makefile の多層構造となっておるので、直接利用しにくい。

結論いうと,  “c++” (GCC)  に、特殊なオプションをつければコンパイルできた。

 

 

 

/usr/bin/c++ -DOPENXLSX_STATIC_DEFINE -I../OpenXLSX -fvisibility=hidden -fvisibility-inlines-hidden -std=c++17 -o Demo1.cpp.o -c Demo1.cpp

でコンパイルし、

 

/usr/bin/c++ Demo1.cpp.o -o Demo1 ../OpenXLSX/libOpenXLSX.a

でリンク。実行ファイル作成される。

 

Linux_OpenXls(未アップ

この添付ファイルZIPには ライブラリのソースコード群は消してあるが、静的ファイル(a)・ヘッダファイルがあればいいので、不要。

なお実行ファイルは、 ubuntu 22.04 で実行できた。Windows Visual Studio に関しては sln を作ったので、このページの最下部のとおり。

 

 

遺補1

https://github.com/troldal/OpenXLSX から取得した段階では、静的ファイルは作られていないが、トップディレクトリで以下のコマンドを実行すると、



mkdir build
cd build
cmake ..
cmake --build . --target OpenXLSX --config Release

オブジェクト(.o) 群と、それらをまとめた、libOpenXLSX.a が作成される。

ユーザサイドでは、libOpenXLSX.a と hpp (ヘッダファイル) があればよろしいので、一度ライブラリをコンパイルすれば、あとは前述の添付プロジェクトをもとに、つくっていけばよい。

 

Visual Studio において

まず ライブラリを毎回ビルドすることなどないと考えられるので、不要なものは削除した  sln (そりゅーしょん)の添付ファイルZIPする。

 

プロジェクトは sample 1つのみ。 Lib は output の実行ファイルと同じ dir にある。あとはプロジェクトの include path を変更して調整する。

v143vs2022_OpenXls(未アップただしライブラリが C++17 以降の記法のため,  v143 以降の toolchain 、たとえば VS2019 以降でしか使えない。