Hello all, Visual C++ Express ?

Dedicated Forum for developers of programs/utilities. To announce new or updated products, to share knowledge and ideas for development.

Moderator: CrazySchmidt

Postby 3./JG51_Specter on Thu May 25, 2006 8:24 pm

I got visual c to compile without a problem so it should be possible. Here's the steps I went through. I'm using the v.6.00 pro version.

1.) Create New Product, Select Win32 Console for the project and select a directory. When it asks create an empty project. This will not add any file templates.

2.) Add all the header (.h) and source (.cpp) files to the project. On mine there is a window on the left side that has two tabs: classes; files. I select files and right clicked on the source files. Select insert file(s) then select all the cpp files. Then repeat for the header files.

3.) Open up the project configuration, there should be a whole bunch of tabs.

Compiler tab:
There should be a textbox with a bunch of comma-delimeted words, add to the end:

Code: Select all
,DEBUG_OUTPUT


This will print out WWSensei's error messages.

Linker tab:
Look for a textbox that says something about linked libraries, should have a long comma-delimeted list of lib files. gdi.lib and shell32.lib should be in there. Add to the end:

Code: Select all
,wsock32.lib

This is most likely what's causing all the header/linker errors. The .lib through me a curve for a few minutes.

That should work, but if it doesn't post the output and we'll figure something out.

Ah the 'Zoo', very aptly named.
Image
User avatar
3./JG51_Specter
Lance Air Corporal
 
Posts: 24
Joined: Sun May 21, 2006 4:09 am
Location: USA

Postby BaLrOg on Fri May 26, 2006 3:15 am

Oops sorry I took so long to notice this one I am so used to the UBI forum mode I hadnt seen that this had gone to page 2 lol!

I will have another crack at that when I get home this morning, I dont have the pro version of visual but I will see what I can do.

does it matter where you put your project directory? I just ask because I wonder if the fact my source files are on a folder on my desktop could be causing the compiler to have difficulties finding the Include Lib and Bin directories with in the Platform SDK?

Last night shift for me now so with a bit of luck I should have 'some' more time on my hands for this over the weekend. Wife and house permiting :wink:

Lol can't take the credit for the Zoo remark that was all TOAD's but yup its a good'un

Cheers

BaLrOg
User avatar
BaLrOg
Corporal
 
Posts: 26
Joined: Thu May 11, 2006 5:51 pm
Location: Wiltshire, UK

Postby 3./JG51_Specter on Fri May 26, 2006 5:13 am

It doesn't matter where the project directory is. I've always put the source and header files in the project's root directory. It might work otherwise, dunno.

If its not getting to the SDK's files, you can add the directories in the project setup.

compiler tabs add(headers): (w32SDK dir)/include
linker tabs add (libraries): (w32SDK dir)/lib

You can also copy the include and lib files into the vc respective directories.

FYI, I'll be out of town for a week. So you're on your own, try not to ...
Image
Image
User avatar
3./JG51_Specter
Lance Air Corporal
 
Posts: 24
Joined: Sun May 21, 2006 4:09 am
Location: USA

Postby BaLrOg on Fri May 26, 2006 6:00 am

LMAO rgr that mate I will try not too! Thanks for the tips and have a good trip!

:D
User avatar
BaLrOg
Corporal
 
Posts: 26
Joined: Thu May 11, 2006 5:51 pm
Location: Wiltshire, UK

Postby 3./JG51_Specter on Wed May 31, 2006 9:23 pm

Hey Balrog,

I'm back, get a chance to work on the wrapper?
Image
User avatar
3./JG51_Specter
Lance Air Corporal
 
Posts: 24
Joined: Sun May 21, 2006 4:09 am
Location: USA

Postby BaLrOg on Thu Jun 01, 2006 10:36 am

Welcome back, hope your trip went well.

Sadly no I did not get time to work on this as 'she who must be obeyed' had other plans for me, namely a 400 mile round trip to cheshire and back and a lot of work on our house.

Still that is done now and I now 'hopefuly' have some free time to devote to this.

I see that you have recieved Sensei response and have outlined further your question regarding compatability.

I will continue to try and get the remote engine selection 'project' project working and will update you when I have some useful errors :)

Have you started to work on your own cockpit project yet? It sounds like you have some pretty large scale plans in mind ?
User avatar
BaLrOg
Corporal
 
Posts: 26
Joined: Thu May 11, 2006 5:51 pm
Location: Wiltshire, UK

Postby BaLrOg on Thu Jun 01, 2006 5:25 pm

------ Build started: Project: spec_eng, Configuration: Debug Win32 ------
Compiling...
stdafx.cpp
mc_lock.cpp
mc_critsection.cpp
main.cpp
dlconsole.cpp
devicelink.cpp
.\devicelink.cpp(23) : warning C4996: 'strncpy' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(156) : see declaration of 'strncpy'
Message: 'This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(67) : warning C4996: '_snprintf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(339) : see declaration of '_snprintf'
Message: 'This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(101) : warning C4996: 'sscanf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(311) : see declaration of 'sscanf'
Message: 'This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(193) : warning C4996: 'strtok' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(164) : see declaration of 'strtok'
Message: 'This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(218) : warning C4996: 'strtok' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(164) : see declaration of 'strtok'
Message: 'This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(228) : warning C4996: 'strtok' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(164) : see declaration of 'strtok'
Message: 'This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(239) : warning C4996: 'strcat' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(78) : see declaration of 'strcat'
Message: 'This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(313) : warning C4996: 'sscanf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(311) : see declaration of 'sscanf'
Message: 'This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(688) : warning C4996: 'fopen' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(234) : see declaration of 'fopen'
Message: 'This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(715) : warning C4996: 'sscanf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(311) : see declaration of 'sscanf'
Message: 'This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(740) : warning C4996: 'sscanf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(311) : see declaration of 'sscanf'
Message: 'This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(859) : warning C4996: 'strncpy' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(156) : see declaration of 'strncpy'
Message: 'This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(876) : warning C4996: '_snprintf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(339) : see declaration of '_snprintf'
Message: 'This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(1015) : warning C4996: '_snprintf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(339) : see declaration of '_snprintf'
Message: 'This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(1247) : warning C4996: '_snprintf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(339) : see declaration of '_snprintf'
Message: 'This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(1297) : warning C4996: '_snprintf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(339) : see declaration of '_snprintf'
Message: 'This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(1349) : warning C4996: '_snprintf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(339) : see declaration of '_snprintf'
Message: 'This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(1401) : warning C4996: '_snprintf' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\stdio.h(339) : see declaration of '_snprintf'
Message: 'This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(1562) : warning C4996: 'strncpy' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(156) : see declaration of 'strncpy'
Message: 'This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(1583) : warning C4996: 'strncpy' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(156) : see declaration of 'strncpy'
Message: 'This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
.\devicelink.cpp(1611) : warning C4996: 'strncpy' was declared deprecated
C:\Program Files\Microsoft Visual Studio 8\VC\include\string.h(156) : see declaration of 'strncpy'
Message: 'This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'
Generating Code...
Linking...
devicelink.obj : error LNK2028: unresolved token (0A000050) "extern "C" int __stdcall connect(unsigned int,struct sockaddr const *,int)" (?connect@@$$J212YGHIPBUsockaddr@@H@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2028: unresolved token (0A000054) "extern "C" int __stdcall WSAStartup(unsigned short,struct WSAData *)" (?WSAStartup@@$$J18YGHGPAUWSAData@@@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2028: unresolved token (0A000056) "extern "C" unsigned long __stdcall inet_addr(char const *)" (?inet_addr@@$$J14YGKPBD@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2028: unresolved token (0A00005A) "extern "C" int __stdcall select(int,struct fd_set *,struct fd_set *,struct fd_set *,struct timeval const *)" (?select@@$$J220YGHHPAUfd_set@@00PBUtimeval@@@Z) referenced in function "public: bool __thiscall C_DeviceLink::ReadMsg(void)" (?ReadMsg@C_DeviceLink@@$$FQAE_NXZ)
devicelink.obj : error LNK2028: unresolved token (0A00005D) "extern "C" unsigned short __stdcall htons(unsigned short)" (?htons@@$$J14YGGG@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2028: unresolved token (0A00006F) "extern "C" int __stdcall WSACleanup(void)" (?WSACleanup@@$$J10YGHXZ) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2028: unresolved token (0A000070) "extern "C" int __stdcall recv(unsigned int,char *,int,int)" (?recv@@$$J216YGHIPADHH@Z) referenced in function "public: bool __thiscall C_DeviceLink::ReadMsg(void)" (?ReadMsg@C_DeviceLink@@$$FQAE_NXZ)
devicelink.obj : error LNK2028: unresolved token (0A000071) "extern "C" int __stdcall bind(unsigned int,struct sockaddr const *,int)" (?bind@@$$J212YGHIPBUsockaddr@@H@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2028: unresolved token (0A000075) "extern "C" unsigned int __stdcall socket(int,int,int)" (?socket@@$$J212YGIHHH@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2028: unresolved token (0A000089) "extern "C" int __stdcall send(unsigned int,char const *,int,int)" (?send@@$$J216YGHIPBDHH@Z) referenced in function "public: bool __thiscall C_DeviceLink::SendMsg(void)" (?SendMsg@C_DeviceLink@@$$FQAE_NXZ)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall connect(unsigned int,struct sockaddr const *,int)" (?connect@@$$J212YGHIPBUsockaddr@@H@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall bind(unsigned int,struct sockaddr const *,int)" (?bind@@$$J212YGHIPBUsockaddr@@H@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" unsigned int __stdcall socket(int,int,int)" (?socket@@$$J212YGIHHH@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall WSACleanup(void)" (?WSACleanup@@$$J10YGHXZ) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall WSAStartup(unsigned short,struct WSAData *)" (?WSAStartup@@$$J18YGHGPAUWSAData@@@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" unsigned long __stdcall inet_addr(char const *)" (?inet_addr@@$$J14YGKPBD@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" unsigned short __stdcall htons(unsigned short)" (?htons@@$$J14YGGG@Z) referenced in function "public: bool __thiscall C_DeviceLink::Init(struct _iobuf *)" (?Init@C_DeviceLink@@$$FQAE_NPAU_iobuf@@@Z)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall send(unsigned int,char const *,int,int)" (?send@@$$J216YGHIPBDHH@Z) referenced in function "public: bool __thiscall C_DeviceLink::SendMsg(void)" (?SendMsg@C_DeviceLink@@$$FQAE_NXZ)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall recv(unsigned int,char *,int,int)" (?recv@@$$J216YGHIPADHH@Z) referenced in function "public: bool __thiscall C_DeviceLink::ReadMsg(void)" (?ReadMsg@C_DeviceLink@@$$FQAE_NXZ)
devicelink.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall select(int,struct fd_set *,struct fd_set *,struct fd_set *,struct timeval const *)" (?select@@$$J220YGHHPAUfd_set@@00PBUtimeval@@@Z) referenced in function "public: bool __thiscall C_DeviceLink::ReadMsg(void)" (?ReadMsg@C_DeviceLink@@$$FQAE_NXZ)
C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\spec_eng\Debug\spec_eng.exe : fatal error LNK1120: 20 unresolved externals
Project : warning PRJ0018 : The following environment variables were not found:
$(Program Files)
Build log was saved at "file://c:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\spec_eng\spec_eng\Debug\BuildLog.htm"
spec_eng - 21 error(s), 21 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Well that is the resulting output when I try and compile with in Visual C++ Express.

It looks to me like there have been some changes in the syntax given the lines that suggest using , for example, strtok_s ect but that will require some futher familiarisation of the text.

Here is a screen grab of the gdi for the project so you can see how I have layed it out

Image

Not sure if its of any use but its as far as I have got.



:? [/quote]
User avatar
BaLrOg
Corporal
 
Posts: 26
Joined: Thu May 11, 2006 5:51 pm
Location: Wiltshire, UK

Postby 3./JG51_Specter on Fri Jun 02, 2006 3:30 am

Thanks, the trip went well. Flew down to Los Angeles and helped a friend drive back to Oregon (about 1000 miles). Wasn't anything I want to repeat for awhile, but it was a nice change of scenery.

I'm not sure how big a deal the warnings are. It will compile and build with warnings. However, with them being depricated the behavior may not be as expected.

Here's what microsoft has to say about the _s functions.
http://msdn2.microsoft.com/en-us/library/8ef0s5kh.aspx

It looks like if you define _CRT_SECURE_NO_DEPRICATE in the compile options it will stop complaining.

By the way microsoft keeps an up to date reference for all their sdk's at http://msdn.microsoft.com. If you ever want to know what a function does or need to chase down a wierd error, this is a good place to start.

The linker errors are because its not linked to the wsock32 library. Check to make sure its in the libraries box under the linker tab.
Image
User avatar
3./JG51_Specter
Lance Air Corporal
 
Posts: 24
Joined: Sun May 21, 2006 4:09 am
Location: USA

Postby BaLrOg on Fri Jun 02, 2006 10:08 am

Cheers Spectre,

1000 miles? Sheesh I was bushed after around 400 so I can imagine how you must have felt after that little lot.

Yes I had discoverd the same thing with the depreciated code, but the link will prove useful as it appears there is a method to overwrite with the newer securer code, I had looked into this and found the same result but with all that went on over the weekend I had forgotten :oops: my bad

As for the missing link (insert pun here) I have been unable to find winsock32.h in any of the includes within the PSDK or the default includes and can only assume that it has been superceded by winsock.h and winsock2.h which are the only two h files I can find with my install of visual C? I have included them already though and the output was as I posted above.

I think is will have a crack at it using bloodshed now and see what I get with that as that has been the only one that has successfully gotten past the compile stage and the problems generated with that were at least the same as yours ( i.e compiled but failed to communicate)
User avatar
BaLrOg
Corporal
 
Posts: 26
Joined: Thu May 11, 2006 5:51 pm
Location: Wiltshire, UK

Postby 3./JG51_Specter on Fri Jun 02, 2006 4:23 pm

Its finding the winsock.h files fine, or it would have complained in the output.

A header file (winsock32.h) is like a table of contents, it just tells you what's out there.

A library (wsock32.lib) on the otherhand, is the book. All the compiled code to run the functions in the header are in there.

You need both inorder to utilize the functions. The header is included in the source file and the library is passed as an argument to the linker. VC has their gui to change these settings. For gnu it would be something like.

compile stage:
g++ -c -o devicelink.o -DDEBUG_OUTPUT devicelink.cpp

VC will do something very similar, all the arguments are passed from the gui setup.

link stage:
g++ -o dlc devicelink.o [all other object files] -lwsock32

In your VC project, you are missing the (-lwsock32), so it doesn't have the code needed to run the functions.

MSVC has what's called the Microsoft Foundation Classes (MFSC). They are well supported and there's loads of information about using them in books and websites. There are also wizards in MSVC that will create a skeleton application and help you put message handlers and build the gui visually. Its a bit bloated, but its easy to work with once you get the hang of it.

If you want to stick with the gnu compilers, you'll run into some rough road if you try to make a gui. All I've ever seen them support out of the box, is the c-style windows sdk. It works fine and has a lot of support/tutorials, but it undermines a lot of the advantages of the object oriented paradigm. Also a lot of the gnu graphic libraries will change the "look" of the window. Buttons and checkboxes will look xwindowfied. This will seem out of place on a windows desktop. If you are the annal retentive sort, this will drive you up the wall.

Another downside to gnu, is that you will need all the libraries to run it. These don't come with windows so sharing programs with people on windows becomes difficult. Most of the time people on linux already have these installed and its no big deal. However, if you only intend to use it yourself then its not really an issue.

The only two gui libraries for gnu that I know of are, gdk/gtk and qt. QT is the most like the microsoft MSFC classes. I've written a couple programs with it. You can find a free gpl licensed version here. If you're familiar with KDE desktop for linux, it was written mostly using this library. I believe that qt has a visual development environment and some wizards like Microsoft too.
http://www.trolltech.com/products/qt/downloads

Usually when I need a gui, I make something quick and dirty using tcl/tk (a script based language). Its simple and not as snazzy as a compiled interface, but its easy to make and gets the job done.
http://www.tcl.tk/software/tcltk/8.0.html#Download%20Binary

Most of the time I avoid GUI's all together. I've found that they are about 4x the work for the same functionality. In college, I had to write a lot of applications to size aircraft, compute lift coefficients and some rudimentary CFD. The were all commandline driven and output datafiles which I could import in to MatLab and make pretty graphs. A gui would have been nice to set up boundary conditions and intial values. I didn't because time at that moment was a very precious commodity.

However, when you're flying a WWII flightsim, entering a command like "engine on" is a real immersion killer.

This may be jumping the gun a bit, but I just thought you'd like to know the trade-offs between the two.
Image
User avatar
3./JG51_Specter
Lance Air Corporal
 
Posts: 24
Joined: Sun May 21, 2006 4:09 am
Location: USA

Postby BaLrOg on Fri Jun 02, 2006 8:36 pm

Cheers again :wink: yes I discoverd the Winsock32 thing when I switched over to bloodshed and compiled it within that enviroment its a little easier to find my way around with that package. But your explanation does help make things clearer and its useful knowing the difference twixt header and lib.

Thanks for the advice on the pro's and con's of the two enviroments and to be honest an xwindows look realy wont bother me lol

For now I will stick with trying to get a console version running until then I think forms and other prettyness can wait ,although that will be my ultimate goal as you say command line is not quite tactile enough for ww2 :D

I guess now I am at the stage where I should try and make some progress on my own as I think its becoming clear that I am a considerably long way from reaching the level that yourself and Sensei are at with regard to code and I don't want to hold you up on your own project.

It has been an excellent launch pad for me though and I thank you for having the time and the patience to explaine some of the pitfalls and idiosynchracies for me. Not to mention the example code you gave me, if you have no objection I would like to continue to sit in on your discussion with Sensei re the wrapper as that will be of use for my own project at some stage but I will remain a silent audience for the most part.

Once again many thanks for all the help and if at any time I can return the favour in some way please don't hesitate to ask.

regards

Iain

P.s I have now managed to get it to compile and run using visual C. The main problem was that its not blatantly obvious to the novice where it is necessary to add the line ws2_32.lib (apparently this lib provides the same functions as winsock32.lib did?) however I have now located the area it needed to be placed!

for the record

Project / properties / linker / Input / additional dependancies

A small success but another step in the right direction!!
User avatar
BaLrOg
Corporal
 
Posts: 26
Joined: Thu May 11, 2006 5:51 pm
Location: Wiltshire, UK

Postby 3./JG51_Specter on Fri Jun 02, 2006 10:55 pm

Happy you figured it out. That's so like Microsoft to change a library name out from under you.

No problem sitting in with Sensei and I, I invited you because you were interested and that a lot of the issues arrose while working with you. If you haven't checked already, he's posted a new version. I haven't tried it yet, but it addresses all the issues I raised.

My project is on hold for now. I think I'm going to go with a mock up of a Focke-Wulf Ta-154. I love the Fw-190, but also wanted a twin, this seemed to be a pretty good compromise. I have the beginnings of a website on my laptop that I'll post when I start working on the pit. I'm thinking something with all metal construction similar to http://simhardware.org, but not as extravagent. We shall see if I can pull it off though. I'm just out of college and working on getting that first job, so it will be a few months.
Image
User avatar
3./JG51_Specter
Lance Air Corporal
 
Posts: 24
Joined: Sun May 21, 2006 4:09 am
Location: USA

Postby BaLrOg on Sat Jun 03, 2006 8:52 am

Yes I have seen Sensei's post and it does look like you are making some head way, I haven't managed to try the updated version of Device_Link yet but I will be sure and give it a shot as soon as I can (at work for the next three days). Also I hope you won't mind helping me out if I post the odd error or two that I might stumble on along the way :roll:

Wow I sure hope you nail that job soon mate as it looks like your gona need some cash to get that cockpit project up and running I think there is a guy out there that is building a FW190 pit that might be of interest?

http://forums.ubi.com/eve/forums/a/tpc/ ... 2141005324

Good luck with the job!
User avatar
BaLrOg
Corporal
 
Posts: 26
Joined: Thu May 11, 2006 5:51 pm
Location: Wiltshire, UK

Postby 3./JG51_Specter on Tue Jun 06, 2006 3:59 am

Haha, I'm trying not to get delusions of grandeur. We shall see if it pans out.

I tried Sensei's newest drivers, there's still a couple wierd things going on. Not his fault, just how the compiler handles the data.
Image
User avatar
3./JG51_Specter
Lance Air Corporal
 
Posts: 24
Joined: Sun May 21, 2006 4:09 am
Location: USA

...

Postby WWSensei on Sun Jul 02, 2006 4:33 am

You guys get things squared away? Happy to try and answer any questions.

Latest version of 2.0.4 is posted up and should be able to handle being compiled using VS2003 or VS2005 and possibly non-Windows compilers. I wrapped the string_s functions to be specific for VS2005 compiles only since the "_s" versions of the string calls are more secure and don't exist on older compilers.

Can't answer specific questions about C++ Express as I am using their primary professional compilers.

There are two routines I feel are weak in my wrapper. One is the config file reader--it simply was a quick hack and I've never gotten back to it--and the other is the parameter parser on returned data from the game. It works, but not for every case and it's where the use of strtok may be causing the odd behavior Spectre saw. Just been too swamped with real life work to write a good test harness to actually hit against the game itself to get various return examples etc.
WWSensei
Flight Sergeant
 
Posts: 88
Joined: Sun Dec 12, 2004 2:53 pm

PreviousNext

Return to Developers Central

Who is online

Users browsing this forum: No registered users and 4 guests

cron