質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Lua

Luaは、汎用のスクリプト言語の一つで、 移植性が高く、高速な実行速度などの特徴を持ち 手続き型・オブジェクト指向言語としても利用可能で 関数型言語、データ駆動型の要素も併せ持っている言語です。

MinGW

MinGW(ミン・ジー・ダブリュー)は GNUツールチェーンのWindows移植版です。 ランタイムライブラリと開発ツールで構成されています。

Q&A

0回答

1586閲覧

lua-zlibをWindowsで使いたい

seitai

総合スコア7

CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Lua

Luaは、汎用のスクリプト言語の一つで、 移植性が高く、高速な実行速度などの特徴を持ち 手続き型・オブジェクト指向言語としても利用可能で 関数型言語、データ駆動型の要素も併せ持っている言語です。

MinGW

MinGW(ミン・ジー・ダブリュー)は GNUツールチェーンのWindows移植版です。 ランタイムライブラリと開発ツールで構成されています。

0グッド

0クリップ

投稿2020/06/05 09:07

編集2020/06/05 09:42

前提・実現したいこと

https://github.com/brimworks/lua-zlib

lua-zlibをWindowsで使いたいです。
luarocks を利用してインストールすると以下のエラーが出ます。

発生している問題・エラーメッセージ

$ luarocks install lua-zlib Installing https://luarocks.org/lua-zlib-1.2-0.src.rock Error: Could not find header file for ZLIB No file zlib.h in c:/external/include No file zlib.h in c:/mingw/include No file zlib.h in c:/windows/system32/include You may have to install ZLIB in your system and/or pass ZLIB_DIR or ZLIB_INCDIR to the luarocks command. Example: luarocks install lua-zlib ZLIB_DIR=/usr/local

試したこと

ソースコードをダウンロードし、luarocksで実行してみる

  1. 以下コマンドを実行する
$ git clone https://github.com/brimworks/lua-zlib $ cd lua-zlib
  1. 以下の「zlibを配置する」「luaを配置する」「zlibをビルドして静的ライブラリを使用する」を実行する
  2. luarocksを実行する

実行結果

$ luarocks install lua-zlib-1.2-0.rockspec lua-zlib 1.2-0 depends on lua >= 5.1, <= 5.3 (5.3-1 provided by VM) mingw32-gcc -O2 -c -o lua_zlib.o -Ic:/external/include lua_zlib.c -DLZLIB_COMPAT -DZLIB_STATIC -Ic:/external/include mingw32-gcc -shared -o zlib.dll lua_zlib.o -lc:/external/zlibstatic c:/external/lua53.lib -lm c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot find -lc:/external/zlibstatic collect2.exe: error: ld returned 1 exit status Error: Build error: Failed compiling module zlib.dll

zlibを配置する

  1. zlib.net からzlibのソースコードをダウンロード
  2. 以下の通りファイルをコピーする

c:\external\include\zlib.h
c:\external\include\zconf.h

luaを配置する

  1. SourceForgeからビルド済み静的リンク用ライブラリをダウンロードする
  2. 以下の通りファイルをコピーする

c:\external\include\lauxlib.h
c:\external\include\lua.h
c:\external\include\lua.hpp
c:\external\include\luaconf.h
c:\external\include\lualib.h
c:\external\lua53.lib

zlibをビルドして静的ライブラリを使用する

参考
https://github.com/brimworks/lua-zlib/issues/42

  1. lua-zlib-1.2-0.rockspecを編集する
defines = { "LZLIB_COMPAT" }, を defines = { "LZLIB_COMPAT", "ZLIB_STATIC" }, に変更
$(ZLIB_LIBDIR)/zlib を $(ZLIB_LIBDIR)/zlibstatic に変更
  1. zlibをダウンロードし、展開する

https://zlib.net/zlib-1.2.11.tar.gz

  1. CMake GUIを利用してVisualStudioでビルドする環境を作る


4. zlibの静的リンクライブラリをビルドする
5. ビルドしたファイルを以下の通りファイルをコピーする
c:\external\zlib.dll
c:\external\zlib.exp
c:\external\zlib.lib
c:\external\zlibstatic.lib
※念の為、動的ライブラリも配置しています

補足情報(FW/ツールのバージョンなど)

  • MinGW

  • luarocks 3.3.1
  • CMake 3.17.3

参考

https://github.com/brimworks/lua-zlib/issues/42

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問