first time installing allegro
Tyler Wrobel

I am trying to install allegro for the first time. I am following this guide on wiki but have ran into a few problems. I am hoping to get some advice from some experts or experienced individuals. I am using this link https://wiki.allegro.cc/index.php?title=Building_with_msys2#Install_dependencies.

My first problem it would seem is that although MSYS seems to be building a make file it appears to be skipping quite a few of the libraries as it says it cannot find them. But, I am not getting and directx or dinput errors. I did install all the dependencies with pacman.

My second problem would be that either I am doing something wrong or this wiki need to be updated. When I run the cmake portion in part 1 of the build process I realized I could not build with the directory set to allegro in the last part of the instructions, I had to change this part to say allegro5 so it would match with the source files. Was this the right thing to do?

And lastly, when I run the 'make && make install' instruction I was getting errors say that no target was specified. So, I typed dir into the MSYS terminal and tried the 'make cmake_install && make install' options and it told me that no cmake files existed but when I typed dir into the MSYS teminal it clearly show a cmake in that folder. What is the proper way to use the 'make && make install' instruction in this case and or resolve the location of this directory?

I am using the mingw64 version of MSYS with pacman recommended in the wiki guide.
Any help is greatly appreciated.

Edgar Reynaldo

After you install the dependencies, you change to the 'allegro5' source directory. From there you create a build directory and change to it and then you run cmake with the desired options, then you run make && make install.

Post a complete log of the commands you are entering and the output you receive and we will be able to help you more effectively.

Tyler Wrobel

Here it is

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~
$ dir
allegro5 build_allegro_monolith

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~
$ cd allegro5

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5
$ dir
addons docs README.txt README_pkgconfig.txt
allegro5.cfg examples README_android.txt README_raspberrypi.txt
android include README_cmake.txt README_releasing.txt
appveyor.yml indent.pro README_iphone.txt README_windows.txt
cmake LICENSE.txt README_macosx.txt src
CMakeLists.txt misc README_make.txt tests
CONTRIBUTORS.txt python README_msvc.txt tools
demos README.md README_packaging.txt

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5
$ mkdir build_allegro_monolith

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5
$ dir
addons demos README.md README_packaging.txt
allegro5.cfg docs README.txt README_pkgconfig.txt
android examples README_android.txt README_raspberrypi.txt
appveyor.yml include README_cmake.txt README_releasing.txt
build_allegro_monolith indent.pro README_iphone.txt README_windows.txt
cmake LICENSE.txt README_macosx.txt src
CMakeLists.txt misc README_make.txt tests
CONTRIBUTORS.txt python README_msvc.txt tools

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5
$ cd build_allegro_monolith

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build_allegro_monolith
$ cmake \ -G"MSYS Makefiles" \ -DCMAKE_INSTALL_PREFIX=/mingw64/x64_64-w64-mingw32 \ -DWANT_MONOLITH=on \ ../allegro5
CMake Error: The source directory "C:/msys64/home/headgearxthree/allegro5/build_allegro_monolith/ ../allegro5" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.

Usually I do this from outside the allegro5 folder. But, you definetly said build 1 layer inside the allegro5 folder do I guess this is right but now I am getting this wierd error.

Edgar Reynaldo

The error is in your cmake command. You should be specifying the allegro5 directory as the directory to look for for cmake files. In your current command, you specify "../allegro5", which as the error message says, does not exist. This is an error in the wiki page. I have since corrected it.

From your 'build' directory, you specify the parent directory, by using two dots (..). This will then tell cmake to look one directory up for the cmake files, which is the allegro5 folder.

That should fix your initial problem.

If you have more, please post the full log again on your next try.

Please post the whole log anyway, as you said you had problems with cmake detecting the dependencies for the addon libraries.

Tyler Wrobel

Isn't that what I did. I call ../allegro5 from the build_allegro_monolith which is nested inside the allegro5 folder.

Edgar Reynaldo

Your setup

/allegro5
         /build_allegro_monolith

When in the build_allegro_monolith directory, and you refer to ../allegro5 you are referring to a directory that doesn't exist. The parent directory is allegro5 and you refer to it by using two dots, and only two dots.

cd build
cmake -G "MSYS Makefiles" [OPTIONS] ..

Tyler Wrobel

Just so you know I am using Windows.

So here it is, same problem. Am I supposed to execute some kind of batch file everytime in run msys or after I restart like some 64 bit compilers I use? MSYS64 was working fine after I initially installed it with the exception of the build phase, then sometime and I restarted my computer. Now. it is as if it is as if cmake itself does not have access to the rest of the machine. Here it is.

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~
$ dir
allegro5 build_allegro_monolith

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~
$ cd allegro5

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5
$ dir
addons demos README.md README_packaging.txt
allegro5.cfg docs README.txt README_pkgconfig.txt
android examples README_android.txt README_raspberrypi.txt
appveyor.yml include README_cmake.txt README_releasing.txt
build_allegro_monolith indent.pro README_iphone.txt README_windows.txt
cmake LICENSE.txt README_macosx.txt src
CMakeLists.txt misc README_make.txt tests
CONTRIBUTORS.txt python README_msvc.txt tools

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5
$ cd build_allegro_monolith

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build_allegro_monolith
$ dir
allegro

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build_allegro_monolith
$ cmake \ -G"MSYS Makefiles" \ -DCMAKE_INSTALL_PREFIX=/mingw64/x64_64-w64-mingw32 \ -DWANT_MONOLITH=on \ ..allegro5
CMake Error: The source directory "C:/msys64/home/headgearxthree/allegro5/build_allegro_monolith/ ..allegro5" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.

Why would it does this?

Edgar Reynaldo

Listen to the error. Pay attention to my directions. Two dots by themselves specify the parent directory.

I know you're on Windows you're using msys. As long as your path is set up correctly you don't need to run any batch scripts.

Tyler Wrobel

Ok, so this is what I got.

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build_allegro_monolith
$ cmake \
-G "MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=/mingw64/x64_64-w64-mingw32 \
-DWANT_MONOLITH=on \
..
-- Building for: Visual Studio 14 2015
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Guessed MSVC directory: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC
-- Found PkgConfig: C:/msys64/mingw64/bin/pkg-config.exe (found version "0.29.1")
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for include file dirent.h
-- Looking for include file dirent.h - not found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file linux/input.h
-- Looking for include file linux/input.h - not found
-- Looking for include file stdbool.h
-- Looking for include file stdbool.h - found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file sys/io.h
-- Looking for include file sys/io.h - not found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - not found
-- Looking for include file time.h
-- Looking for include file time.h - found
-- Looking for include file sys/utsname.h
-- Looking for include file sys/utsname.h - not found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for include file soundcard.h
-- Looking for include file soundcard.h - not found
-- Looking for include file sys/soundcard.h
-- Looking for include file sys/soundcard.h - not found
-- Looking for include file machine/soundcard.h
-- Looking for include file machine/soundcard.h - not found
-- Looking for include file linux/soundcard.h
-- Looking for include file linux/soundcard.h - not found
-- Looking for include file libkern/OSAtomic.h
-- Looking for include file libkern/OSAtomic.h - not found
-- Looking for include file sys/inotify.h
-- Looking for include file sys/inotify.h - not found
-- Looking for include file sal.h
-- Looking for include file sal.h - found
-- Looking for getexecname
-- Looking for getexecname - not found
-- Looking for mkstemp
-- Looking for mkstemp - not found
-- Looking for mmap
-- Looking for mmap - not found
-- Looking for mprotect
-- Looking for mprotect - not found
-- Looking for sched_yield
-- Looking for sched_yield - not found
-- Looking for sysconf
-- Looking for sysconf - not found
-- Looking for fseeko
-- Looking for fseeko - not found
-- Looking for ftello
-- Looking for ftello - not found
-- Looking for strerror_r
-- Looking for strerror_r - not found
-- Looking for strerror_s
-- Looking for strerror_s - found
-- Check size of _Bool
-- Check size of _Bool - done
-- Performing Test ALLEGRO_HAVE_PROCFS_ARGCV
-- Performing Test ALLEGRO_HAVE_PROCFS_ARGCV - Failed
-- Performing Test ALLEGRO_HAVE_SV_PROCFS_H
-- Performing Test ALLEGRO_HAVE_SV_PROCFS_H - Failed
-- Performing Test ALLEGRO_HAVE_VA_COPY
-- Performing Test ALLEGRO_HAVE_VA_COPY - Success
-- Found OpenGL: opengl32
S3TC locking disabled. You will not be able to load/save pre-compressed textures with OpenGL.
-- Found DINPUT: C:/Program Files (x86)/Windows Kits/8.1/Include/um
-- Found D3D9: C:/Program Files (x86)/Windows Kits/8.1/Include/shared
-- Could NOT find D3DX9 (missing: D3DX9_INCLUDE_DIR D3DX9_LIBRARY)
-- Found DSOUND: C:/Program Files (x86)/Windows Kits/8.1/Include/um
-- Found XINPUT: C:/Program Files (x86)/Windows Kits/8.1/Include/um
D3DX9 not found. You will not be able to compress or decompress textures on the GPU.
-- Found GDIPLUS: C:/Program Files (x86)/Windows Kits/8.1/Include/um
-- Performing Test SUPPORT_GDIPLUS
-- Performing Test SUPPORT_GDIPLUS - Success
-- Could NOT find D3DX9 (missing: D3DX9_INCLUDE_DIR D3DX9_LIBRARY)
-- Could NOT find OpenAL (missing: OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
-- Could NOT find OPENSL (missing: OPENSL_INCLUDE_DIR OPENSL_LIBRARY)
-- Could NOT find FLAC (missing: OGG_LIBRARY FLAC_LIBRARY)
WARNING: libFLAC not found or compile test failed, disabling support.
-- Could NOT find DUMB (missing: DUMB_LIBRARY)
WARNING: libdumb not found or compile test failed, disabling support. <http://dumb.sourceforge.net/>
-- Could NOT find OGG (missing: OGG_LIBRARY)
WARNING: libvorbis not found or compile test failed, disabling support.
WARNING: libopus not found or compile test failed, disabling support.
-- Could NOT find Freetype (missing: FREETYPE_LIBRARY) (found version "2.7.0")
WARNING: FreeType not found, disabling support.
-- Could NOT find PhysFS (missing: PHYSFS_LIBRARY)
-- Could NOT find PHYSFS (missing: PHYSFS_LIBRARY)
-- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.8")
WARNING: allegro_video wanted but no supported backend found
-- Not building ex_color
-- Not building ex_depth_mask
-- Not building ex_haptic2
-- Not building ex_physfs
-- Not building ex_video
-- Not building ex_font_justify
-- Not building ex_font_multiline
-- Not building ex_logo
-- Not building ex_projection
-- Not building ex_ttf
-- Not building ex_audio_chain
-- Not building ex_synth
-- Could NOT find ENET (missing: ENET_INCLUDE_DIR ENET_LIBRARY)
-- Not building tests due to missing library. Have: allegro allegro_main allegro_image allegro_color allegro_font allegro_primitives
-- Could NOT find LATEX (missing: LATEX_COMPILER)
-- Configuring done
-- Generating done
-- Build files have been written to: C:/msys64/home/headgearxthree/allegro5/build_allegro_monolith

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build_allegro_monolith
$ make && make install
make: *** No targets specified and no makefile found. Stop.

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build_allegro_monolith
$

Now I am getting the no makefile found error and alot of things were not found.

Edgar Reynaldo

Your first problem is that cmake thinks you want Visual Studio project files. This should be overridden by "-G "MSYS Makefiles". Try entering all the cmake commands on one line without the separating backslashes.

cmake -G "MSYS Makefiles" -DWANT_MONOLITH=On -DCMAKE_INSTALL_PREFIX=/mingw64/x64_64-w64-mingw32 ..

EDIT
Something else you can do is to delete CMakeCache.txt before re-running CMake. It's in your build directory. It will force CMake to completely regenerate it's option cache.

Tyler Wrobel

Ok, I will try that.

So here is what I got. I feel like I myself can probably have played around a little bit before posting this? But, here is what is happening... I am pretty sure I was getting direct_x before when it was trying to compile for visual studios...

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~
$ dir
allegro5

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~
$ cd allegro5

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5
$ cd build_allegro_monolith

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build_allegro_monolith
$ cmake -G "MSYS Makefiles" -DWANT_MONOLITH=On -DCMAKE_INSTALL_PREFIX=/mingw64/x64_64-w64-mingw32 ..
CMake Error: Error: generator : MSYS Makefiles
Does not match the generator used previously: Visual Studio 14 2015
Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.

/* After I got this cmake error i went into the dir in windows file explorer and deleted that .txt file and the CMakeFiles directory and did this */

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build_allegro_monolith
$ cmake -G "MSYS Makefiles" -DWANT_MONOLITH=On -DCMAKE_INSTALL_PREFIX=/mingw64/x64_64-w64-mingw32 ..
-- The C compiler identification is GNU 6.2.0
-- The CXX compiler identification is GNU 6.2.0
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/g++.exe
-- Check for working CXX compiler: C:/msys64/mingw64/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Guessed MinGW directory: C:/msys64/mingw64
-- Performing Test HAVE_DM_POSITION
-- Performing Test HAVE_DM_POSITION - Success
-- Found PkgConfig: C:/msys64/mingw64/bin/pkg-config.exe (found version "0.29.1")
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for include file dirent.h
-- Looking for include file dirent.h - found
-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for include file linux/input.h
-- Looking for include file linux/input.h - not found
-- Looking for include file stdbool.h
-- Looking for include file stdbool.h - found
-- Looking for include file stdint.h
-- Looking for include file stdint.h - found
-- Looking for include file sys/io.h
-- Looking for include file sys/io.h - not found
-- Looking for include file sys/stat.h
-- Looking for include file sys/stat.h - found
-- Looking for include file sys/time.h
-- Looking for include file sys/time.h - found
-- Looking for include file time.h
-- Looking for include file time.h - found
-- Looking for include file sys/utsname.h
-- Looking for include file sys/utsname.h - not found
-- Looking for include file sys/types.h
-- Looking for include file sys/types.h - found
-- Looking for include file soundcard.h
-- Looking for include file soundcard.h - not found
-- Looking for include file sys/soundcard.h
-- Looking for include file sys/soundcard.h - not found
-- Looking for include file machine/soundcard.h
-- Looking for include file machine/soundcard.h - not found
-- Looking for include file linux/soundcard.h
-- Looking for include file linux/soundcard.h - not found
-- Looking for include file libkern/OSAtomic.h
-- Looking for include file libkern/OSAtomic.h - not found
-- Looking for include file sys/inotify.h
-- Looking for include file sys/inotify.h - not found
-- Looking for include file sal.h
-- Looking for include file sal.h - found
-- Looking for getexecname
-- Looking for getexecname - not found
-- Looking for mkstemp
-- Looking for mkstemp - found
-- Looking for mmap
-- Looking for mmap - not found
-- Looking for mprotect
-- Looking for mprotect - found
-- Looking for sched_yield
-- Looking for sched_yield - found
-- Looking for sysconf
-- Looking for sysconf - not found
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for ftello
-- Looking for ftello - found
-- Looking for strerror_r
-- Looking for strerror_r - not found
-- Looking for strerror_s
-- Looking for strerror_s - found
-- Check size of _Bool
-- Check size of _Bool - done
-- Performing Test ALLEGRO_HAVE_PROCFS_ARGCV
-- Performing Test ALLEGRO_HAVE_PROCFS_ARGCV - Failed
-- Performing Test ALLEGRO_HAVE_SV_PROCFS_H
-- Performing Test ALLEGRO_HAVE_SV_PROCFS_H - Failed
-- Performing Test ALLEGRO_HAVE_VA_COPY
-- Performing Test ALLEGRO_HAVE_VA_COPY - Success
-- Found OpenGL: opengl32
S3TC locking disabled. You will not be able to load/save pre-compressed textures with OpenGL.
-- Could NOT find DINPUT (missing: DINPUT_INCLUDE_DIR)
-- Could NOT find D3D9 (missing: D3D9_INCLUDE_DIR)
-- Could NOT find D3DX9 (missing: D3DX9_INCLUDE_DIR D3DX9_LIBRARY)
-- Could NOT find DSOUND (missing: DSOUND_INCLUDE_DIR)
-- Could NOT find XINPUT (missing: XINPUT_INCLUDE_DIR XINPUT_LIBRARY)
CMake Error at CMakeLists.txt:703 (message):
Windows port requires DirectInput (not found).

-- Configuring incomplete, errors occurred!
See also "C:/msys64/home/headgearxthree/allegro5/build_allegro_monolith/CMakeFiles/CMakeOutput.log".
See also "C:/msys64/home/headgearxthree/allegro5/build_allegro_monolith/CMakeFiles/CMakeError.log".

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build_allegro_monolith
$

I am going to try with a clean directory.

Edgar Reynaldo

The wiki covers this :

Quote:

If you receive errors relating to CMake such as Could NOT find DINPUT (missing: DINPUT_INCLUDE_DIR) it's likely CMake isn't resolving the directx headers and libraries. These are included in msys.

Try passing an altered PATH variable by replacing cmake with PATH=/mingw64/x86_64-w64-mingw32/bin:$PATH cmake in the above install line.

Tyler Wrobel

Ok, so I definetly messed up bad. I went along and removed the \ slashes and it didn't resolve my direct_x issue. Just for the sake of it I went back to executing it the way I was earlier because I though that didn't add up. And needless to say even when I compile it now it still can't find direct x. I think I deleted something. I am sure it was before because at least it would complete are return with few not found errors. I am going to reinstall all dependencies now.

Edgar Reynaldo

I went along and removed the \ slashes and it didn't resolve my direct_x issue.

It wouldn't. The backslashes have to do with continuing a line in MSYS.

Quote:

And needless to say even when I compile it now it still can't find direct x.

That's why I suggested you follow the wiki and alter your PATH variable before calling cmake.

Okay, here's a basic rundown :

1. Install dependencies via pacman (including git and cmake).

2. Clone allegro

3. cd allegro5

4. mkdir build

5. cd build

6. PATH=/mingw64/x86_64-w64-mingw32/bin:$PATH cmake -G "MSYS Makefiles" -DWANT_MONOLITH=On -DCMAKE_INSTALL_PREFIX=/mingw64/x64_64-w64-mingw32 ..

7. make

8. make install

Step #6 is the most important. It's altering your path to detect the installed DirectX, telling cmake to create MSYS Makefiles, create the monolith, and install to /mingw64/x64_64-w64-mingw32. Ensure all those paths are correct for your compiler.

Tyler Wrobel

Got the above. But, in the Run Msys section at the beginning of the artical it says to run the " mingwXX_shell.bat" file. However I only have executables in that directory. Is a bat file supposed to be there?

Edgar Reynaldo

In the msys/msys64 directory there should be two batch files. One named mingw32_shell.bat and one named mingw64_shell.bat. I assume you want mingw64_shell.bat since you're building for x64.

Tyler Wrobel

I don't have those.

Edgar Reynaldo

Then you installed msys wrong. Search around in the local directories and see if you installed it somewhere else.

Tyler Wrobel

I guess I got a crap install then. I ran the autorebase.bat that is in that directory though. I will probably have to reinstall msys. Do you think you could open either one of those bat files in notepad and post its contents here? I started executing the autorebase.bat file that was in the msys/ directory becuase I thought maybe my directory was built slightly differently but then I opened it just now to find it contents

@echo off

set PATH=%~dp0\usr\bin;%PATH%
dash /usr/bin/rebaseall -p

this looks like it could be playing a part in msys no longer resolving directx also.
I dont even have a msys/msys64 directory. all my executables are in the c:\msys directory. I forget where I downloaded this from I may need to find a different source.
I tried to attach a photo of the msys directory.

Edgar Reynaldo

Don't just run random files (batch or not). :/

I'm going to go through the install process with you and see if I have any problems. I'm downloading MSYS2 now.

Tyler Wrobel

Ok

EDIT:

So I was able to make some progress with that edit you showed me. I still got some errors along the way but I am going to try to compile something with GCC and Allegro and see what happens.

I got this. I am not sure what the ARGV_C are, but I was thinking that could either be bad or negligible.

headgearxthree@DESKTOP-PFLMU84 MINGW64 ~/allegro5/build
$ PATH=/mingw64/x86_64-w64-mingw32/bin:$PATH cmake -G "MSYS Makefiles" -DWANT_MONOLITH=On -DCMAKE_INSTALL_PREFIX=/mingw64/x64_64-w64-mingw32 ..
-- Guessed MinGW directory: C:/msys64/mingw64
-- Performing Test ALLEGRO_HAVE_PROCFS_ARGCV
-- Performing Test ALLEGRO_HAVE_PROCFS_ARGCV - Failed
-- Performing Test ALLEGRO_HAVE_SV_PROCFS_H
-- Performing Test ALLEGRO_HAVE_SV_PROCFS_H - Failed
S3TC locking disabled. You will not be able to load/save pre-compressed textures with OpenGL.
-- Found DINPUT: C:/msys64/mingw64/x86_64-w64-mingw32/include
-- Found D3D9: C:/msys64/mingw64/x86_64-w64-mingw32/include
-- Found D3DX9: C:/msys64/mingw64/x86_64-w64-mingw32/include
-- Found DSOUND: C:/msys64/mingw64/x86_64-w64-mingw32/include
-- Found XINPUT: C:/msys64/mingw64/x86_64-w64-mingw32/include
-- Found GDIPLUS: C:/msys64/mingw64/x86_64-w64-mingw32/include
-- Performing Test SUPPORT_GDIPLUS
-- Performing Test SUPPORT_GDIPLUS - Success
-- Could NOT find OpenAL (missing: OPENAL_INCLUDE_DIR)
-- Could NOT find OPENSL (missing: OPENSL_INCLUDE_DIR OPENSL_LIBRARY)
-- Found FLAC: C:/msys64/mingw64/include
-- Performing Test FLAC_COMPILES
-- Performing Test FLAC_COMPILES - Success
-- Found DUMB: C:/msys64/mingw64/include
-- Performing Test DUMB_COMPILES
-- Performing Test DUMB_COMPILES - Success
-- Found OGG: C:/msys64/mingw64/include
-- Found VORBIS: C:/msys64/mingw64/include
-- Performing Test VORBIS_COMPILES
-- Performing Test VORBIS_COMPILES - Success
-- Could NOT find OPUS (missing: OPUS_INCLUDE_DIR OPUS_LIBRARY OPUSFILE_LIBRARY)
WARNING: libopus not found or compile test failed, disabling support.
-- Found Freetype: C:/msys64/mingw64/lib/libfreetype.dll.a (found version "2.7.0")
-- Found ZLIB: C:/msys64/mingw64/lib/libz.dll.a (found version "1.2.8")
-- Found PhysFS: C:/msys64/mingw64/lib/libphysfs.dll.a
-- Found PHYSFS: C:/msys64/mingw64/lib/libphysfs.dll.a
-- Performing Test PHYSFS_IMPLICIT_ZLIB
-- Performing Test PHYSFS_IMPLICIT_ZLIB - Success
-- Found THEORA: C:/msys64/mingw64/include
-- Could NOT find ENET (missing: ENET_INCLUDE_DIR ENET_LIBRARY)
-- Could NOT find LATEX (missing: LATEX_COMPILER)
-- Configuring done
-- Generating done
-- Build files have been written to: C:/msys64/home/headgearxthree/allegro5/build

**After this I just ran make and then make install and didnt note any errors just alot of linking and compiling.

Also I did get a really wierd serious of errors when I was running pacman, I accidentally exited out of that window. And since lost what it said, so thats why I am going to run a test trial before I attemp to figure out what the were.

Edgar Reynaldo

I've gotten everything installed and updated and allegro cloned. I'm ready for the cmake step, but I'm going to go home and have dinner first. I'll be back in a couple hours (like two). C'ya then.

No problems so far.

Tyler Wrobel

Ok

EDIT:
So I am trying to compile with GCC using dev c++. It actually works quite well and I was having a problem passing an include directory via the command line so I decided to use the IDE. Appearently all allegro files using a header scheme such as allegro5/* so not a big deal. I just added the c:\msys64\home\headgearxthree\allegro5\include include path to my c++ include paths. That got it through alot of the compilation but it appears as if I'm still missing something. I am getting an error on line 28 of the alconfig.h file in the C:\msys64\home\headgearxthree\allegro5\include\allegro5\platform path. The compiler is saying that "alplatf.h" doesn't exist, but I know the compiler is resolving the path. I found this file and wouldn't you know it is a cmake file. The file in the platform directory is alplatf.h.cmake and alconfig.h points to a .h file on line 28. I am hesitant as what to do.

Here is the contents of the alplatf.h.cmake file --

/* alplatf.h is generated from alplatf.h.cmake */
#cmakedefine ALLEGRO_MINGW32
#cmakedefine ALLEGRO_UNIX
#cmakedefine ALLEGRO_MSVC
#cmakedefine ALLEGRO_MACOSX
#cmakedefine ALLEGRO_BCC32
#cmakedefine ALLEGRO_IPHONE
#cmakedefine ALLEGRO_ANDROID
#cmakedefine ALLEGRO_RASPBERRYPI
#cmakedefine ALLEGRO_CFG_NO_FPU
#cmakedefine ALLEGRO_CFG_DLL_TLS
#cmakedefine ALLEGRO_CFG_PTHREADS_TLS
#cmakedefine ALLEGRO_CFG_RELEASE_LOGGING

#cmakedefine ALLEGRO_CFG_D3D
#cmakedefine ALLEGRO_CFG_D3D9EX
#cmakedefine ALLEGRO_CFG_D3DX9
#cmakedefine ALLEGRO_CFG_XINPUT
#cmakedefine ALLEGRO_CFG_OPENGL
#cmakedefine ALLEGRO_CFG_OPENGLES
#cmakedefine ALLEGRO_CFG_OPENGLES2
#cmakedefine ALLEGRO_CFG_OPENGLES3
#cmakedefine ALLEGRO_CFG_OPENGL_PROGRAMMABLE_PIPELINE
#cmakedefine ALLEGRO_CFG_SHADER_GLSL
#cmakedefine ALLEGRO_CFG_SHADER_HLSL
#cmakedefine ALLEGRO_CFG_OPENGL_S3TC_LOCKING

#cmakedefine ALLEGRO_CFG_ANDROID_LEGACY

/*---------------------------------------------------------------------------*/

/* Define to 1 if you have the corresponding header file. */
#cmakedefine ALLEGRO_HAVE_DIRENT_H
#cmakedefine ALLEGRO_HAVE_INTTYPES_H
#cmakedefine ALLEGRO_HAVE_LINUX_AWE_VOICE_H
#cmakedefine ALLEGRO_HAVE_LINUX_INPUT_H
#cmakedefine ALLEGRO_HAVE_LINUX_SOUNDCARD_H
#cmakedefine ALLEGRO_HAVE_MACHINE_SOUNDCARD_H
#cmakedefine ALLEGRO_HAVE_SOUNDCARD_H
#cmakedefine ALLEGRO_HAVE_STDBOOL_H
#cmakedefine ALLEGRO_HAVE_STDINT_H
#cmakedefine ALLEGRO_HAVE_SV_PROCFS_H
#cmakedefine ALLEGRO_HAVE_SYS_IO_H
#cmakedefine ALLEGRO_HAVE_SYS_SOUNDCARD_H
#cmakedefine ALLEGRO_HAVE_SYS_STAT_H
#cmakedefine ALLEGRO_HAVE_SYS_TIME_H
#cmakedefine ALLEGRO_HAVE_TIME_H
#cmakedefine ALLEGRO_HAVE_SYS_UTSNAME_H
#cmakedefine ALLEGRO_HAVE_SYS_TYPES_H
#cmakedefine ALLEGRO_HAVE_OSATOMIC_H
#cmakedefine ALLEGRO_HAVE_SYS_INOTIFY_H
#cmakedefine ALLEGRO_HAVE_SAL_H

/* Define to 1 if the corresponding functions are available. */
#cmakedefine ALLEGRO_HAVE_GETEXECNAME
#cmakedefine ALLEGRO_HAVE_MKSTEMP
#cmakedefine ALLEGRO_HAVE_MMAP
#cmakedefine ALLEGRO_HAVE_MPROTECT
#cmakedefine ALLEGRO_HAVE_SCHED_YIELD
#cmakedefine ALLEGRO_HAVE_SYSCONF
#cmakedefine ALLEGRO_HAVE_SYSCTL

#cmakedefine ALLEGRO_HAVE_FSEEKO
#cmakedefine ALLEGRO_HAVE_FTELLO
#cmakedefine ALLEGRO_HAVE_STRERROR_R
#cmakedefine ALLEGRO_HAVE_STRERROR_S
#cmakedefine ALLEGRO_HAVE_VA_COPY

/* Define to 1 if procfs reveals argc and argv */
#cmakedefine ALLEGRO_HAVE_PROCFS_ARGCV

/*---------------------------------------------------------------------------*/

/* Define if target machine is little endian. */
#cmakedefine ALLEGRO_LITTLE_ENDIAN

/* Define if target machine is big endian. */
#cmakedefine ALLEGRO_BIG_ENDIAN

/* Define if target platform is Darwin. */
#cmakedefine ALLEGRO_DARWIN

/*---------------------------------------------------------------------------*/

/* Define if you need support for X-Windows. */
#cmakedefine ALLEGRO_WITH_XWINDOWS

/* Define if XCursor ARGB extension is available. */
#cmakedefine ALLEGRO_XWINDOWS_WITH_XCURSOR

/* Define if XF86VidMode extension is supported. */
#cmakedefine ALLEGRO_XWINDOWS_WITH_XF86VIDMODE

/* Define if Xinerama extension is supported. */
#cmakedefine ALLEGRO_XWINDOWS_WITH_XINERAMA

/* Define if XRandR extension is supported. */
#cmakedefine ALLEGRO_XWINDOWS_WITH_XRANDR

/* Define if XIM extension is supported. */
#cmakedefine ALLEGRO_XWINDOWS_WITH_XIM

/* Define if XInput 2.2 X11 extension is supported. */
#cmakedefine ALLEGRO_XWINDOWS_WITH_XINPUT2

/*---------------------------------------------------------------------------*/

/* Define if target platform is linux. */
#cmakedefine ALLEGRO_LINUX

/* Define if we are building with SDL backend. */
#cmakedefine ALLEGRO_SDL

/*---------------------------------------------------------------------------*/
/* vi: set ft=c ts=3 sts=3 sw=3 et: */

I was reading through it and I happened to notice that line 70 is references something about ARGC_V and I was getting a failed for that when I ran cmake and built it, I think this file may have been the culpret. As if for some reason it could not determine that I was building for windows or something it looks like it failed.

I am going to make a copy of this then try to build it myself by using logic and carefuly examing the if statements to build a header file.

Edgar Reynaldo

Alright, so I have everything done up to step #6 above (cmake).

You'll want to run this from the mingw64 shell. In the latest MSYS2, the default install directory is c:\msys64. In this folder you'll find msys.exe, mingw64.exe and mingw32.exe. You'll want to run mingw64.exe to set up the mingw64 build environment before running cmake.

NOTE : There is an error in the wiki. I fixed it. It should say in the cmake command line parameters to set the CMAKE_INSTALL_PREFIX to the following directory :
-DCMAKE_INSTALL_PREFIX=/mingw64/x86_64-w64-mingw32
(Note the x86_64 and not x64_64 as before). x64 points to a directory that doesn't exist.

After running cmake, make, and make install, you should have something that looks like the following log file :

build_log.txt.

EDIT FOR YOUR EDIT
You're specifying the wrong directory for the include files. You need to specify the msys64//mingw64/x86_64-w64-mingw32/include directory for your include files. I don't know if you can use msys2/mingw64 outside of msys. mingw64.exe sets up a proper build environment for you to build with mingw64.

Tyler Wrobel

Okay, I guess we will see where I stand compared to what you have.

Edgar Reynaldo

See my edit.

Tyler Wrobel

Well my cmake ran almost the exact same, originally I though that the ARGC_V line coming back failed could be the culprit but the check for big medium or little endians returned successfully so I assume it should not be related. I just understand why a header file would redirect me to a .cmake file. I didn't use the -j 4 option, I am not sure what that does. One thing that I can definetly say looks different is the scanning for dependencies section of you log file following you make -j4 option. when I ran the make command I jumped right into

$ make
Scanning dependencies of target allegro_monolith
[ 0%] Building C object CMakeFiles/allegro_monolith.dir/src/allegro.c.obj

only that one, but this doesn't take into account the change to the cmake prefix directory you mentioned above.

EDIT:

Ok, I will try your edit. It is likely going to be a little bit of extensive work so I am going to get some sleep and get back on it a little bit earlier than this time tommororw.

Edgar Reynaldo

make -j 4 instructs make to use 4 cores (it can take advantage of multi threading) so that building doesn't take as long.

I don't know what you're talking about with ARGC_V, but the reference to a missing alplatf.h file means you're linking to the source include files, and not the installed header files.

Your build went to allegro monolith first because that is the most dependent build component. Everything else depends on it, except for things like copying data, which is what my command did first due to make -j 4.

Tyler Wrobel

Ok, So I was able to catch up with you. At first I was compiling with the Dev-CPP IDE but I thought I would take it to the command line. From here I am still getting the same error. It seems as though I am definitely have a problem linking. I modified my include path in both cases and still to end.

c:\Users\headgearxthree\Desktop\ALLEGRO>gcc -I C:\msys64\mingw64\x86_64-w64-mingw32\include altest.cpp
C:\Users\HEADGE~1\AppData\Local\Temp\ccJHTXW0.o:altest.cpp:(.text+0x26): undefined reference to `al_install_system'
C:\Users\HEADGE~1\AppData\Local\Temp\ccJHTXW0.o:altest.cpp:(.text+0x73): undefined reference to `al_create_display'
C:\Users\HEADGE~1\AppData\Local\Temp\ccJHTXW0.o:altest.cpp:(.text+0xd1): undefined reference to `al_map_rgb'
C:\Users\HEADGE~1\AppData\Local\Temp\ccJHTXW0.o:altest.cpp:(.text+0xf5): undefined reference to `al_clear_to_color'
C:\Users\HEADGE~1\AppData\Local\Temp\ccJHTXW0.o:altest.cpp:(.text+0xfa): undefined reference to `al_flip_display'
C:\Users\HEADGE~1\AppData\Local\Temp\ccJHTXW0.o:altest.cpp:(.text+0x108): undefined reference to `al_rest'
C:\Users\HEADGE~1\AppData\Local\Temp\ccJHTXW0.o:altest.cpp:(.text+0x114): undefined reference to `al_destroy_display'
collect2.exe: error: ld returned 1 exit status

c:\Users\headgearxthree\Desktop\ALLEGRO>gcc -I C:\msys64\mingw64\x86_64-w64-mingw32\include -c altest.cpp

c:\Users\headgearxthree\Desktop\ALLEGRO>dir
Volume in drive C is OS
Volume Serial Number is 426E-BDFE

Directory of c:\Users\headgearxthree\Desktop\ALLEGRO

11/27/2016 03:01 AM <DIR> .
11/27/2016 03:01 AM <DIR> ..
11/27/2016 02:36 AM 1,525 allegro.cpp
11/26/2016 05:08 AM 528 altest.cpp
11/27/2016 03:01 AM 1,354 altest.o
3 File(s) 3,407 bytes
2 Dir(s) 95,570,718,720 bytes free

c:\Users\headgearxthree\Desktop\ALLEGRO>

I can build an object file but thats it it just exits from compilation early. The -c flag is supposed to run compiler and link and I'm not sure what the gcc does on its own but it debugs in the IDE to give me the same problems. I've compiled with Dev-CPP before and it works. I don't see how I could have any undefined references unless the source code on github was bad.

Edgar Reynaldo

-c tells gcc to compile only. You need to set the linker search directory with -L PATH_TO_LIB_FOLDER and then link to allegro using -lallegro_monolith.dll or whatever other version of allegro you want to link to. (You have to build them first, by setting -DCMAKE_BUILD_TYPE=[Release | Debug | RelWithDebInfo | Profiling] and setting -DSHARED=[On | Off].

Undefined references means you haven't linked to allegro.

Tyler Wrobel

Ok.

EDIT:
Do you mean during compilation time or before hand? I feel like if the command line is going to take that many arguments I would rather just start out by editing the lib paths under the directories tabs in the Dev-CPP IDE.

Edgar Reynaldo

You have to build the versions of allegro you want first, before compiling and linking against them.

EDIT
I don't know if you can get Dev-CPP to build with mingw64 from msys2. It might take some work to get the configuration settings correct, if it's even possible. Like I said, mingw64.exe sets up the correct environment to build with mingw64.

Tyler Wrobel

I though that is what I did when I ran make and make install. Do you have any suggestions on what flags to pass while doing that?

So would I use cmake as such...

cmake -DCMAKE_BUILD_TYPE=[Release | Debug | RelWithDebInfo | Profiling] and setting -DSHARED=[On | Off].

Edgar Reynaldo

I told you the cmake options a few posts back. You have to build EACH version of allegro you wish to use in the same manner after configuring it with cmake.

Tyler Wrobel

I know I already built to the C:\msys64\mingw64\x86_64-w64-mingw32\ directory. Did I not build all necessary dependencies then? Should I not now be complete and ready to compile with allegro?

Edgar Reynaldo

Yes, you can compile with the dynamic release version of allegro. Which means your program depends on the dynamic release allegro monolithic dll. You have to bulid the static and debug versions if you want to use those instead.

Tyler Wrobel

Okay, I will inevitability want to use static, for the mean I wouldn't mind trying dynamic. Any suggestions on how to do so dynamically now so I can get a feel for how allegro looks when compiled, or any suggestions on how to build a static version? I thought that would be done.

I think I am confused about how the monolith library in implemented. I think I'm making progress.

C:\Users\headgearxthree\Desktop\ALLEGRO>gcc -L C:\msys64\mingw64\x86_64-w64-mingw32\ -l allegro_monolith -I C:\msys64\mingw64\x86_64-w64-mingw32\include altest.cpp
C:/TDM-GCC-32/bin/../lib/gcc/mingw32/5.1.0/../../../../mingw32/bin/ld.exe: cannot find -lallegro_monolith
collect2.exe: error: ld returned 1 exit status

C:\Users\headgearxthree\Desktop\ALLEGRO>

But, I'm not sure whats wrong here.

Edgar Reynaldo

For static pass -DSHARED=Off to cmake.

To link to allegro, find your lib folder and find the allegro_monolith*.dll.a file. To link to file libNAME.a you pass -lname.

Tyler Wrobel

I'm just not sure what is going on I think I may have to rebuild this yet again. I found some remnants from the old folder where I was making it originally the "x64_64..." directory that we changed to "x86_64..." and in there I actually have a monolith.dll. But in my new installation directory the "x86_64" on I don't, so I'm guess I should have said yes last time to it. I am going to figure it out..

the one in the \bin sub directory is allegro_monolith-5.2.dll

and the one in the \lib sub directory is liballegro_monolith.dll.a

Edgar Reynaldo

The .dll is the one you need alongside your executable to run the program. liballegro_monolith.dll.a is the file you need to link to with -lallegro_monolith.dll .

Tyler Wrobel

C:\Users\headgearxthree\Desktop\ALLEGRO>gcc -L c:\msys64\mingw64\x64_64-w64-mingw32 -l liballegro_monolith.dll.a -I c:\msys64\mingw64\x86_64-w64-mingw32\include altest.cpp
C:/TDM-GCC-32/bin/../lib/gcc/mingw32/5.1.0/../../../../mingw32/bin/ld.exe: cannot find -lliballegro_monolith.dll.a
collect2.exe: error: ld returned 1 exit status

Looks like its still not searching the file path I told it too. So I will work on this.

EDIT:

So I re-arranged my call to the compiler (i'm using the msys terminal here because I like it. I like be able to exit out and come back and use the arrow keys to recall commands. I want to build a utility like that for command prompt.)

headgearxthree@DESKTOP-PFLMU84 MINGW64 /c/users/headgearxthree/desktop/allegro
$ gcc altest.cpp -o altest -I c:\msys64\mingw64\x86_64-w64-mingw32\include -L c:\msys64\mingw64\x64_64-w64-mingw32 -lliballegro_monolith

headgearxthree@DESKTOP-PFLMU84 MINGW64 /c/users/headgearxthree/desktop/allegro
$ dir
allegro.cpp altest.cpp altest.exe altest.o gcc

headgearxthree@DESKTOP-PFLMU84 MINGW64 /c/users/headgearxthree/desktop/allegro
$ altest
-bash: altest: command not found

headgearxthree@DESKTOP-PFLMU84 MINGW64 /c/users/headgearxthree/desktop/allegro
$

Believe it or not I actually built a executable. Still doesn't work properly but is definitely an improve.) Command prompt would have let me execute it from the command line but that is a disappointment here.

So I guess I am a totally noob when it comes to this whole static/binary (monolith.etc) libraries concept. I personally don't understand why I can't just compile with the source code alone. And I do not understand why I need a .dll file to do something the .h file should already be doing. Is there anyway to build a allegro library that I can use from the command line with gcc that will build portable applications? And, will I have to keep a .dll with my project all the time or is that pessimistic of me to assume?

Are .dll's system dependent?

EDIT: So I dropped a copy of allegro_monolith-5.2.dll.a into the folder on my desktop where I was compiling from and now it doesn't give me the same error...

The error I was getting was less of a console error but rather a windowed notification saying that "the program could not start be allegro_monolith-5.2 is not installed on your computer, please reinstall this program an dtry again", However once I dropped a copy of this into that folder I no longer am getting that error but now I getting 3 pop-up windows that all state something similiar, one along the lines of libFLAC-8.dll, another libDUMB.dll and another for the same thing libfreetype-6.dll.

It does not appear as if I even have any of these on my c drive. I know the msys getting started page references them but only once and no build steps.

Edgar Reynaldo

Dependent libraries have to be specified on the command line AFTER your main program objects. Linking order matters.

You're still linking allegro wrong. To link with libNAME.a you pass -lNAME so in this case it would be -lallegro_monolith.dll .

Bash doesn't add extensions onto files. You have to run your program with the full name and a dot forward slash before it. (./altest.exe).

You can compile with the source code alone if you use static libraries, but then you have to specify every library that each library depends on. For allegro this is the following list to link statically :

-static -ldumb -lFLAC -lvorbisfile -lvorbis -lfreetype -logg -lpng16 -lzlibstatic -lgdiplus -luuid -lkernel32 -lwinmm -lpsapi -lopengl32 -lglu32 -luser32 -lcomdlg32 -lgdi32 -lshell32 -lole32 -ladvapi32 -lws2_32 -lshlwapi

Specify these libraries after you specify your program object and after you specify the allegro library you want.

.dll files are necessary because they hold all the functions that allegro provides. If you static link then those functions are included in your executable.

Those extra dlls are because the dependent libraries were compiled dynamically. You have to link to the static versions if you don't want those dependencies. You can usually find those dlls in a bin or dll subfolder of mingw.

Tyler Wrobel

But I don't have any "allegro_monolith.dll" built. Last, time I went through the steps I cam out with a bunch of dll.s but none for allegro_monolith and the times before I was getting a allegro.dll but It was called "allegro_monolith-5.2.dll". I actually did get one last time in my bin file called "allegro-5.2.dll" in my bin folder along with a bunch of other .dll files. What exactly would static linking look like? Should I just start over? I think I am going to.

Edgar Reynaldo

-lallegro_monolith.dll stands for "link to liballegro_monolith.dll.a". You have the right dll, it's just named with 5.2 in it. An .a file is a library archive that you link to. A .dll file is a library module that goes with your program.

You don't need to start over, unless you want to build other versions. Like the static one.

Tyler Wrobel

So when you say -lallegro_monolith.dll I should change that to -lallegro_monolith-5.2.dll or this is done automatically?

And, I would much rather build a static library. But, I can build both and both can exist simultaneously right??

Edgar Reynaldo

No, when I say -lallegro_monolith.dll I mean -lallegro_monolith.dll . You're linking to the archive (*.a) file with the name liballegro_monolith.dll.a, and then at runtime you use the dll allegro_monolith-5.2.dll or whatever its named with your program.

Build the static version using cmake and then link statically, like I showed you earlier.

Yes, you can have more than one version installed at a time. But you can only build one version at a time, with specific options passed to cmake.

Tyler Wrobel

Ok

Edgar Reynaldo

If you have more questions just ask. But please check to make sure I haven't already answered it above.

Tyler Wrobel

Do you know what the general command line compilation command would look like if I were to compile statically from the source code alone if I were using micro soft vs native build tools?

Edgar Reynaldo

I'm not sure what you're asking me. If you're asking me how to compile from the command line statically using MSVC and cl, I have no idea. If you're asking how to compile statically using MinGW-w64 I should have showed that somewhere above.

Tyler Wrobel

I ment MSVC native build tools. And so I guess yes using cl (that as it would be the command line). I don't use Microsoft visual studio, but still prefer the compilers for command line work compared to others. And it appears to have the most up to date interpretation of c++. I tend to bounce around between IDE's. I would like to configure sally to work with MSVC 14. I have been readin up on monolithic libraries and trying to figure out what I am doing wrong. I will look this over before posting about that, but to be sure. Too compile a static library one the code would be something like this?

cmake /
options here/
static=on / ..allegro5

I know that this is obviously not correct verbatim, but on the principal this would be correct yes?

Edgar Reynaldo
cmake -G "Visual Studio 14 2015" -DSHARED=Off -DWANT_MONOLITH=On -DCMAKE_BUILD_TYPE=[Debug | Release | RelWithDebInfo | Profiling] -DCMAKE_INSTALL_PREFIX=%INSTALL_PATH% ..

Thread #616587. Printed from Allegro.cc