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
SDL 1.3 MinGW build - missing "msctf.h"
thatbloke


Joined: 10 Jun 2010
Posts: 6
I'm trying to build the latest SDL 1.3 code on MinGW, and it seems that the changes that were added as part of changeset 4763 (518d1679d2d0) have added the include "msctf.h" into SDL_win32video.h - When building in MinGW, I now get an error saying that this header is not present. What is it part of?

Is there a current "recommended" revision number in the repository that people would suggest using, that isn't the latest version?
SDL 1.3 MinGW build - missing "msctf.h"
Jeremiah
Guest

No, that would be counterproductive. "[r]ecommended revisions"? It is
preferable to read about and fix a new bug.

Programmers don't want to experience the same grief time travelers do.



On Thu, Sep 9, 2010 at 10:00 AM, thatbloke wrote:
Quote:

Is there a current "recommended" revision number in the repository that
people would suggest using, that isn't the latest version?
_______________________________________________
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: SDL 1.3 MinGW build - missing "msctf.h"
thatbloke


Joined: 10 Jun 2010
Posts: 6
Ok, so... got any insight as to what this header is part of?

Jeremiah wrote:
No, that would be counterproductive. "[r]ecommended revisions"? It is
preferable to read about and fix a new bug.

Programmers don't want to experience the same grief time travelers do.



On Thu, Sep 9, 2010 at 10:00 AM, thatbloke wrote:
Quote:

Is there a current "recommended" revision number in the repository that
people would suggest using, that isn't the latest version?
_______________________________________________
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 1.3 MinGW build - missing "msctf.h"
Jonny D


Joined: 12 Sep 2009
Posts: 932
The "ms" in the file name should give you a hint.  Have you installed all the pertinent SDKs (I personally don't know which are needed)?  Have you Googled at all?

Jonny D


On Thu, Sep 9, 2010 at 11:20 AM, thatbloke wrote:
Quote:
Ok, so... got any insight as to what this header is part of?




Jeremiah wrote:

No, that would be counterproductive. "[r]ecommended revisions"? It is
preferable to read about and fix a new bug.

Programmers don't want to experience the same grief time travelers do.




On Thu, Sep 9, 2010 at 10:00 AM, thatbloke <> wrote:



Quote:


Is there a current "recommended" revision number in the repository that
people would suggest using, that isn't the latest version?

_______________________________________________
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

SDL 1.3 MinGW build - missing "msctf.h"
Jeremiah
Guest

On my machine, "msctf.h" is located in C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
Its part of the platform SDK.

On Thu, Sep 9, 2010 at 11:20 AM, thatbloke wrote:
Quote:
Ok, so... got any insight as to what this header is part of?



Jeremiah wrote:


No, that would be counterproductive. "[r]ecommended revisions"? It is
preferable to read about and fix a new bug.

Programmers don't want to experience the same grief time travelers do.




On Thu, Sep 9, 2010 at 10:00 AM, thatbloke <> wrote:


Quote:



Is there a current "recommended" revision number in the repository that
people would suggest using, that isn't the latest version?

_______________________________________________
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

Benjamin Xiao


Joined: 10 Sep 2010
Posts: 5
I am running into the same issue. I copied over msctf.h from the MS SDK into my mingw installation, recompiled, got more missing file errors, copied those over as well. Finally I ran into a compile error with "sdl_win32video: error expected specifier qualifier list before compositionform"

@thatbloke: if you're looking for a "recommended" revision, it would probably be the tarball listed on the SDL website under SDL 1.3. It's a bit outdated (August) but I managed to get it to compile successfully. Hey, it must be on the main website for a reason right? Very Happy
thatbloke


Joined: 10 Jun 2010
Posts: 6
I realise that the "MS" is probably a clue - it seems that it is indeed part of the platform SDK - but that then leads me to wonder if it's an issue with MinGW, or if there is now an incompatibility with regard to building SDL on the MinGW platform. I would not expect that the Microsoft Platform SDK will work in conjunction with the MinGW compiler.

In addition, I have the tarball on the "Get SDL" page, but from what I can tell there is potentially some issue with fullscreen mode that was fixed in a later version (which is precisely what I need, plus I need the ability to display stuff on a second display).
SDL 1.3 MinGW build - missing "msctf.h"
Jeremiah
Guest

Why?
MinGW works fine with Microsoft .lib files. How else would it
function, if not by using the ms libraries?



On Mon, Sep 13, 2010 at 4:35 AM, thatbloke wrote:
Quote:
I would not expect that the Microsoft Platform SDK will
work in conjunction with the MinGW compiler.

_______________________________________________
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: SDL 1.3 MinGW build - missing "msctf.h"
Benjamin Xiao


Joined: 10 Sep 2010
Posts: 5
Jeremiah wrote:
Why?
MinGW works fine with Microsoft .lib files. How else would it
function, if not by using the ms libraries?


Yes, but there are a lot of problems with using MS header files. MS C++ code has always been a bit non-standards complaint and a lot of times you can't simply drag files over to MinGW as a drop-in-replacement. This is why MinGW provides a lot of its own header files for the win32 api.

Have you tried compiling SDL 1.3 yourself? If so can you give us instructions on how you set up your build environment?

Compiling SDL 1.3 using VS 2010 was no go either, kept getting linker errors with functions in Version.lib, which is in default library search path.

thatbloke wrote:
In addition, I have the tarball on the "Get SDL" page, but from what I can tell there is potentially some issue with fullscreen mode that was fixed in a later version (which is precisely what I need, plus I need the ability to display stuff on a second display).

I am currently running into this problem as well.
SDL 1.3 MinGW build - missing "msctf.h"
John K. Luebs
Guest

Jeremiah wrote:
Quote:
Why?
MinGW works fine with Microsoft .lib files. How else would it
function, if not by using the ms libraries?

This is how it would function (and usually does function for the core API):
http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/RuntimeLibrary/Win32-API/w32api-3.15/w32api-3.15-1-mingw32-src.tar.lzma/download

which is not released by Microsoft.
The mingw linker handles most MSVC produced lib files ok (for a "long"
while now), but this wasn't always the case. Basic support for C++
libraries was even more recent, IIRC.

_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
SDL 1.3 MinGW build - missing "msctf.h"
Jeremiah
Guest

Well ofcourse mingw source code isn't released by Microsoft, Smile.

MingW doesn't "need" windows from a technical standpoint . But without
it, it would have no purpose. I misspoke when I said function.
Function should be replaced with a different word.
But at least the OP gets the overall message.
Yes, SDL has dependencies.
Yes, they all can work through mingw.



On Thu, Sep 16, 2010 at 1:51 PM, John K. Luebs wrote:
Quote:
Jeremiah wrote:
Quote:

Why?
MinGW works fine with Microsoft .lib files. How else would it
function, if not by using the ms libraries?


This is how it would function (and usually does function for the core API):
http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/RuntimeLibrary/Win32-API/w32api-3.15/w32api-3.15-1-mingw32-src.tar.lzma/download

which is not released by Microsoft.
The mingw linker handles most MSVC produced lib files ok (for a "long" while
now), but this wasn't always the case. Basic support for C++ libraries was
even more recent, IIRC.

_______________________________________________
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 1.3 MinGW build - missing "msctf.h"
John K. Luebs
Guest

Jeremiah wrote:
Quote:
Well ofcourse mingw source code isn't released by Microsoft, Smile.

But this was not about source code for mingw, and that is not what I
linked to. I linked to an independent (non-MS) SDK header/library
package that has been used as part of mingw for years.
Quote:
MingW doesn't "need" windows from a technical standpoint . But without
it, it would have no purpose. I misspoke when I said function.
Function should be replaced with a different word.
But at least the OP gets the overall message.

The poster mentioned about not expecting the Platform SDK to not work
with mingw. As it turns out, for a long while, mingw would certainly not
work with most of the Platform SDK for a number of reasons.

There was a time when GNU binutils would not work with MS style lib
library files at all.

And even now, many existing Windows applications can be built just fine
without the Platform SDK, because many parts of it exist in no MS
implementations.

I'm not talking about runtime environment, but rather build environment.
These days, most Windows applications I need to build, I build just fine
in a cross-compilation environment on Linux and do not use any MS
Platform SDK/MS lib files or MS distributed stuff (as far as I know),
and that's all I was commenting on.
Quote:


On Thu, Sep 16, 2010 at 1:51 PM, John K. Luebs wrote:

Quote:
Jeremiah wrote:

Quote:
Why?
MinGW works fine with Microsoft .lib files. How else would it
function, if not by using the ms libraries?
This is how it would function (and usually does function for the core API):
http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/RuntimeLibrary/Win32-API/w32api-3.15/w32api-3.15-1-mingw32-src.tar.lzma/download

which is not released by Microsoft.
The mingw linker handles most MSVC produced lib files ok (for a "long" while
now), but this wasn't always the case. Basic support for C++ libraries was
even more recent, IIRC.

_______________________________________________
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
SDL 1.3 MinGW build - missing "msctf.h"
Sam Lantinga


Joined: 10 Sep 2009
Posts: 1765
This is for the IME support in SDL 1.3. Daniel, do you know how this
would be compiled on MinGW?

On Thu, Sep 9, 2010 at 7:00 AM, thatbloke wrote:
Quote:
I'm trying to build the latest SDL 1.3 code on MinGW, and it seems that the
changes that were added as part of changeset 4763 (518d1679d2d0) have added
the include "msctf.h" into SDL_win32video.h - When building in MinGW, I now
get an error saying that this header is not present. What is it part of?

Is there a current "recommended" revision number in the repository that
people would suggest using, that isn't the latest version?
_______________________________________________
SDL mailing list

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





--
    -Sam Lantinga, Founder and President, Galaxy Gameworks LLC
_______________________________________________
SDL mailing list

http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
Re: SDL 1.3 MinGW build - missing "msctf.h"
dewyatt


Joined: 25 Mar 2010
Posts: 17
Sam Lantinga wrote:
This is for the IME support in SDL 1.3. Daniel, do you know how this
would be compiled on MinGW?

On Thu, Sep 9, 2010 at 7:00 AM, thatbloke wrote:
Quote:
I'm trying to build the latest SDL 1.3 code on MinGW, and it seems that the
changes that were added as part of changeset 4763 (518d1679d2d0) have added
the include "msctf.h" into SDL_win32video.h - When building in MinGW, I now
get an error saying that this header is not present. What is it part of?

Is there a current "recommended" revision number in the repository that
people would suggest using, that isn't the latest version?
_______________________________________________
SDL mailing list

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





--
    -Sam Lantinga, Founder and President, Galaxy Gameworks LLC
_______________________________________________
SDL mailing list

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

Ah, I forgot about this.
I knew from the start that MinGW didn't have a msctf.h header.
I'll have to figure something out.
I may just have to write my own header for the portion of the TSF that I use.
MinGW has the required libs, just not all the headers.
I'll start work on this right away.
dewyatt


Joined: 25 Mar 2010
Posts: 17
Okay, I've managed to compile SDL 1.3 in MinGW.
However, it won't link since the IIDs and CLSIDs I use aren't in libuuid.a.
I'll have to see what I can do about this.
dewyatt


Joined: 25 Mar 2010
Posts: 17
Okay, I've compiled, linked, and lightly tested it (on XP, need to test on 7).
I had to do the following:
1) Copy msctf.h, TextStor.h, ctfutb.h, and Rpcsal.h to your include directory.
2) Add this to msctf.h (after the other includes):
Code:

#include <Rpcsal.h>

3) Add this to EXTRA_LDFLAGS in the makefile:
Code:

-limm32 -lole32 -lversion -loleaut32 -luuid

4) Add this to SDL_win32video.h:
Code:

#include <imm.h>

5) Add this to SDL_win32keyboard.c:
Code:

#undef DEFINE_GUID
#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
DEFINE_GUID(IID_ITfInputProcessorProfileActivationSink        , 0x71C6E74E,0x0F28,0x11D8,0xA8,0x2A,0x00,0x06,0x5B,0x84,0x43,0x5C);
DEFINE_GUID(IID_ITfUIElementSink                              , 0xEA1EA136,0x19DF,0x11D7,0xA6,0xD2,0x00,0x06,0x5B,0x84,0x43,0x5C);
DEFINE_GUID(GUID_TFCAT_TIP_KEYBOARD                           , 0x34745C63,0xB2F0,0x4784,0x8B,0x67,0x5E,0x12,0xC8,0x70,0x1A,0x31);
DEFINE_GUID(IID_ITfSource                                     , 0x4EA48A35,0x60AE,0x446F,0x8F,0xD6,0xE6,0xA8,0xD8,0x24,0x59,0xF7);
DEFINE_GUID(IID_ITfUIElementMgr                               , 0xEA1EA135,0x19DF,0x11D7,0xA6,0xD2,0x00,0x06,0x5B,0x84,0x43,0x5C);
DEFINE_GUID(IID_ITfReadingInformationUIElement                , 0xEA1EA139,0x19DF,0x11D7,0xA6,0xD2,0x00,0x06,0x5B,0x84,0x43,0x5C);
DEFINE_GUID(IID_ITfThreadMgr                                  , 0xAA80E801,0x2021,0x11D2,0x93,0xE0,0x00,0x60,0xB0,0x67,0xB8,0x6E);
DEFINE_GUID(CLSID_TF_ThreadMgr                                , 0x529A9E6B,0x6587,0x4F23,0xAB,0x9E,0x9C,0x7D,0x68,0x3E,0x3C,0x50);
DEFINE_GUID(IID_ITfThreadMgrEx                                , 0x3E90ADE3,0x7594,0x4CB0,0xBB,0x58,0x69,0x62,0x8F,0x5F,0x45,0x8C);


I _think_ that's all.
Obviously this is a temporary solution, I'll have to talk to sam about a more permanent solution.
But for now, that should get things working.
dewyatt


Joined: 25 Mar 2010
Posts: 17
A workaround is in place now.
Everything should be fine.

I also added a bug report to the MinGW tracker for the missing headers and CLSIDs/IIDs.
SDL 1.3 MinGW build - missing "msctf.h"
Sam Lantinga


Joined: 10 Sep 2009
Posts: 1765
Thanks Daniel! Smile

On Sun, Sep 19, 2010 at 9:03 PM, dewyatt wrote:
Quote:
A workaround is in place now.
Everything should be fine.

I also added a bug report to the MinGW tracker for the missing headers and
CLSIDs/IIDs.
_______________________________________________
SDL mailing list

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





--
    -Sam Lantinga, Founder and President, Galaxy Gameworks LLC
_______________________________________________
SDL mailing list

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


Joined: 10 Jun 2010
Posts: 6
Hi guys, Thanks for the work you have put in on this, thought I would let you know that the latest SDL code in Mercurial just compiled flawlessly on my MinGW environment. (32-bit, using Vista).

Thanks!
SDL 1.3 MinGW build - missing "msctf.h"
Sam Lantinga


Joined: 10 Sep 2009
Posts: 1765
Great! Smile

On Wed, Sep 22, 2010 at 6:02 AM, thatbloke wrote:
Quote:
Hi guys, Thanks for the work you have put in on this, thought I would let
you know that the latest SDL code in Mercurial just compiled flawlessly on
my MinGW environment. (32-bit, using Vista).

Thanks!
_______________________________________________
SDL mailing list

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





--
    -Sam Lantinga, Founder and President, Galaxy Gameworks LLC
_______________________________________________
SDL mailing list

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


Joined: 25 Aug 2010
Posts: 98
I'm afraid I am running into this same problem with compiling SDL 1.3 under Windows 7 with VC2005.

I have the latest .net SDK installed, DirectX SDK (June 2010). Am I missing one?
SDL 1.3 MinGW build - missing "msctf.h"
Andreas Schiffler
Guest

Yes - the Platform SDK.
http://msdn.microsoft.com/en-us/windows/bb980924.aspx

On 12/16/10 1:37 AM, ebyard wrote:
Quote:
I'm afraid I am running into this same problem with compiling SDL 1.3 under Windows 7 with VC2005.

I have the latest .net SDK installed, DirectX SDK (June 2010). Am I missing one?
Quote:


_______________________________________________
SDL mailing list

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