The SDL forums have moved to discourse.libsdl.org.
This is just a read-only archive of the previous forums, to keep old links working.


SDL Forum Index
SDL
Simple Directmedia Layer Forums
help me,use cmake output error at winxp msys
goxl


Joined: 23 Jan 2014
Posts: 17
help me,use cmake output error at winxp msys

DIRECTX requires the $DXSDK_DIR environment variable to be set
Call Stack (most recent call first):
help me,use cmake output error at winxp msys
Jeffrey Carpenter
Guest

On 2014/07/ 14, at 21:42, goxl wrote:

Quote:
help me,use cmake output error at winxp msys

DIRECTX requires the $DXSDK_DIR environment variable to be set
Call Stack (most recent call first):

I'm guessing that the build script wasn't able to find the DirectX SDK. DXSDK_DIR appears to be an environmental variable. Have you tried setting it?

set DXSDK_DIR=PATH_OF_DIRECTX_SDK
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
Re: help me,use cmake output error at winxp msys
goxl


Joined: 23 Jan 2014
Posts: 17
run winxp at virtualbox,It has no DX...
how do?

Jeffrey Carpenter wrote:
On 2014/07/ 14, at 21:42, goxl wrote:

Quote:
help me,use cmake output error at winxp msys

DIRECTX requires the $DXSDK_DIR environment variable to be set
Call Stack (most recent call first):

I'm guessing that the build script wasn't able to find the DirectX SDK. DXSDK_DIR appears to be an environmental variable. Have you tried setting it?

set DXSDK_DIR=PATH_OF_DIRECTX_SDK
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
help me,use cmake output error at winxp msys
Jeffrey Carpenter
Guest

Download and install the DirectX SDK?

Cheers,
Jeffrey Carpenter


On 2014/07/ 14, at 22:19, goxl wrote:

Quote:
run winxp at virtualbox,It has no DX...
how do?








Jeffrey Carpenter wrote:
On 2014/07/ 14, at 21:42, goxl <> wrote:








Quote:
help me,use cmake output error at winxp msys

DIRECTX requires the $DXSDK_DIR environment variable to be set
Call Stack (most recent call first):

I'm guessing that the build script wasn't able to find the DirectX SDK. DXSDK_DIR appears to be an environmental variable. Have you tried setting it?

set DXSDK_DIR=PATH_OF_DIRECTX_SDK
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
help me,use cmake output error at winxp msys
Doug
Guest

You shouldn't have to have direct x installed.


Make sure the DIRECTX cmake option is disabled; I've done this using 2.0.3 without any trouble in the past.



Honestly though, given no effort is being made to support cmake, I recommend you build SDL using automake, similar to how it is done here: https://raw.githubusercontent.com/shadowmint/sdl2-build/master/sdl.txt
Quote:
set(SRC ${CMAKE_CURRENT_BINARY_DIR}/src/${SDL})
ExternalProject_Add(
sdl_dummy
SOURCE_DIR ${SRC}
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}
CONFIGURE_COMMAND ${SRC}/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}
BUILD_COMMAND ${MAKE}
)
add_library(sdl UNKNOWN IMPORTED)
set_property(TARGET sdl PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/lib/libSDL2.a)
add_dependencies(sdl sdl_dummy)
Since this invokes automake to build, it obviously comes with the caveats that anything that uses autoconf (ie. it will only work under msys, and possible only under cygwin and even then, it's flakey).


~

Doug.




On Tue, Jul 15, 2014 at 1:47 PM, Jeffrey Carpenter wrote:
Quote:
Download and install the DirectX SDK?

Cheers,
Jeffrey Carpenter


On 2014/07/ 14, at 22:19, goxl wrote:

Quote:
run winxp at virtualbox,It has no DX...
how do?








Jeffrey Carpenter wrote:
On 2014/07/ 14, at 21:42, goxl <> wrote:








Quote:
help me,use cmake output error at winxp msys

DIRECTX requires the $DXSDK_DIR environment variable to be set
Call Stack (most recent call first):

I'm guessing that the build script wasn't able to find the DirectX SDK. DXSDK_DIR appears to be an environmental variable. Have you tried setting it?

set DXSDK_DIR=PATH_OF_DIRECTX_SDK
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


Quote:
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


Re: help me,use cmake output error at winxp msys
goxl


Joined: 23 Jan 2014
Posts: 17
thanks,i did it!!!!

Doug wrote:
You shouldn't have to have direct x installed.


Make sure the DIRECTX cmake option is disabled; I've done this using 2.0.3 without any trouble in the past.



Honestly though, given no effort is being made to support cmake, I recommend you build SDL using automake, similar to how it is done here: https://raw.githubusercontent.com/shadowmint/sdl2-build/master/sdl.txt
Quote:
set(SRC ${CMAKE_CURRENT_BINARY_DIR}/src/${SDL})
ExternalProject_Add(
sdl_dummy
SOURCE_DIR ${SRC}
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}
CONFIGURE_COMMAND ${SRC}/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}
BUILD_COMMAND ${MAKE}
)
add_library(sdl UNKNOWN IMPORTED)
set_property(TARGET sdl PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/lib/libSDL2.a)
add_dependencies(sdl sdl_dummy)
Since this invokes automake to build, it obviously comes with the caveats that anything that uses autoconf (ie. it will only work under msys, and possible only under cygwin and even then, it's flakey).


~

Doug.




On Tue, Jul 15, 2014 at 1:47 PM, Jeffrey Carpenter wrote:
Quote:
Download and install the DirectX SDK?

Cheers,
Jeffrey Carpenter


On 2014/07/ 14, at 22:19, goxl wrote:

Quote:
run winxp at virtualbox,It has no DX...
how do?








Jeffrey Carpenter wrote:
On 2014/07/ 14, at 21:42, goxl <> wrote:








Quote:
help me,use cmake output error at winxp msys

DIRECTX requires the $DXSDK_DIR environment variable to be set
Call Stack (most recent call first):

I'm guessing that the build script wasn't able to find the DirectX SDK. DXSDK_DIR appears to be an environmental variable. Have you tried setting it?

set DXSDK_DIR=PATH_OF_DIRECTX_SDK
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


Quote:
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


help me,use cmake output error at winxp msys
Joseph Carter


Joined: 20 Sep 2013
Posts: 279
Are you using MinGW-w64 or MinGW32? The latter has broken DirectX
headers because *mumble mumble*. Even on WinXP, you really should be
using a 32-bit MinGW-w64 to build SDL.

Someone really ought to document the setup process. That someone was
going to be me, but it became one of my half-dozen unfinished
projects when I kind of found that nobody who knew how to make it
work reasonably correctly was willing to explain it to me so that I
could produce something for others to follow.

Even then, I was using autoconf in anything I was doing, though
anyone with a bit of basic CMake-fu could've added a few notes for
the guide I was working on.

The major issue I ran into was finding the appropriate tools to use.
There isn't _ONE_ MinGW-w64 or MSYS distribution to choose from.
There are numerous different versions of each. And if someone ever
takes the time to tell me WHICH is likely to be the most useful, I'll
gladly get the project off my todo list and into a README.mingw …

What I mean is…

First the compiler… Are you using a 32 bit or 64 bit host? Next, do
you want SEH, sjlj, or dwarf exception handling? Next, do you want
to build 64 bit or 32 bit or (in some cases) both? Finally, WHOSE
build do you want, what kind of installer do you expect, etc. etc.
etc. To add to the absolute frustration, the MinGW-w64 website
contains contradictory information and bad advice to help you solve
these various quandaries.

Your host is the easy answer: If you're on XP or have a 32 bit
version of Windows 7, use a 32 bit host. (If you're using WinXP-x64
you have FAR bigger problems than SDL…)

Exceptions … you want SEH. For a 32 bit build, you probably can't
legally get SEH, but it's what you want. If you have to, use sjlj
and know that if a DLL you didn't compile with MinGW-w64 throws an
exception, you can't catch it. Likewise, anything you throw won't be
caught properly by something else. You WANT SEH. This is the price
of C++ being a flaming pile of supposedly "standardized" dog crap and
the state of software patents I guess.

That just leaves the question of your target and who's building the
resulting combination of compiler options… One option, recommended by
the MinGW-w64 wiki, is "just use XXXX build", which comes in a nice
friendly compiler that can build both 64 and 32 bit! DO NOT USE IT.
The IRC channel will tell you as much, and that the wiki is broken
for even suggesting it. Little issues like … the resource compiler
cannot build 32 bit resource files and there's no way to tell it to
try. Just don't use it.

Instead, grab something like the mingw-builds version, which means
downloading separate compilers depending on whether you're going to
target 32 or 64 bit builds and pick one at build-time. Your best
solution to doing this seems to be to create a $GCCPATH and add that
to $PATH. Pick a default in your profile and add a couple aliases to
change it back and forth.

Then there's MSYS. MSYS as released is ancient and decrepit and
lacks most of the tools you're going to actually need. If you get
something more modern (MSYS2 efforts), you're going to be working
with some development snapshot with various actually useful
development tools like git and hg added. Never found one with a
working hg, though, and I never succeeded at making one work. The
older versions used a fstab which was easy except that things like
spaces in pathnames broke it, and the new versions don't. There's no
documentation. There's no update facility. Things like manpages
didn't work for me. The option to use rxvt or not or use something
else… You're presently on your own. Suffice it to say you do not
want rxvt, and you don't really want cmd.exe either.

Console2 or ConEmu is probably your best bet. Someone was talking
about getting PuTTY to work, but I don't know if that's actually been
done or not.

If you can figure out WHAT to use, MinGW-w64 and probably MSYS2 are
where you should be going.

Joseph


On Tue, Jul 15, 2014 at 02:42:48AM +0000, goxl wrote:
Quote:
help me,use cmake output error at winxp msys

DIRECTX requires the $DXSDK_DIR environment variable to be set
Call Stack (most recent call first):





Quote:
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org