netsurferj
24-08-2008 20:27:42
Hi
When I try to compile my project in release mode I get include errors. One of them is:
1>c:\physx\nxogre 0.9\include\NxOgrePrerequisites.h(303) : error C2146: syntax error : missing ';' before identifier 'NxThrow'
I included all the not _d libs with the same names as the _d libs.
I am using nxogre 0.9 with physX 2.7.3
I compiled NxOgre in release mode. Is it possible to compile a project made in 0.9 using release mode?
thanx
Prophet
24-08-2008 21:20:45
If you're using Visual there might be some properties that are not matching for debug/release (or at least, I had that problem). Compare "every" setting and check or differences. Mine were in the General section, I think.
Oh, and it is possible to compile and run under release. (I do it anyway)
netsurferj
25-08-2008 22:06:25
thanx, I changed the c++ general settings to the same as the debug settings, and added "WIN32;_RELEASE;_WINDOWS;" to the preprocessor definitions setting.
I compiles now, but I am getting linker errors, where things, like string, are "already defined"
I found this topic:
http://www.ogre3d.org/phpBB2addons/viewtopic.php?t=7491&sid=ce193664e1d3d7c4af509e6f4e2718c6 in which fatpwnage said to "recompile the NxOgre library with a dynamically linked runtime library" instead of static.
I had a look at the NxOgre settings, and it is set to dll under configuration properties/general/configuration type, is there somewhere else I should set it to dynamic?
Prophet
25-08-2008 22:24:34
If you take a look where you normally change between Release and Debug, NxOgre has Debug, Debug_Static, Release, Release_Static and lastly Small. Might be what you're looking for.
I never got this problem, on the other hand I've always used dynamically. Hope this helps!
netsurferj
26-08-2008 13:40:05
hey, thanx for the reply.
I had a look, there are only options for debug and release. (I am using 0.9)
mcaden
26-08-2008 14:55:36
If a project compiles in debug, but not in release the problem every time in my experience has always always always been a project dependency.
The directory isn't set right, or a .lib is missing.
Keep in mind that a lot of times errors cascade. Always start from the first error thrown. One error on a dependency can cause dozens of errors in other classes or files.
Prophet
26-08-2008 15:23:17
Perhaps it's different in bleeding, I don't know.
Anway, as mcaden says, it might be the settings. I've had some strange errors under VC. Compare the General and Debugging settings. That's where I found the errors. Make sure they're the same. Yeah, I was wrong, I've had this problem, but not with NxOgre.
netsurferj
03-09-2008 11:35:51
I set all the settings the same to the debug settings (the ones that did not give errors) but I am still getting the string redefinition errors.
The libs I included are:
OgreMain.lib
OIS.lib
CEGUIBase.lib
OgreGUIRenderer.lib
odbc32.lib
odbccp32.lib
openal32.lib
alut.lib
PagedGeometry.lib
PhysXLoader.lib
NxCooking.lib
NxCharacter.lib
NxOgre.lib
Navi.lib
Astral.lib
If anyone knows how to solve this error, I would really appreciate it.
thanx
netsurferj
03-09-2008 11:50:35
Hey, sorry I always forget about the wiki.
I found this brilliant article:
http://www.ogre3d.org/wiki/index.php/BuildFAQ that helped a lot.
I just changed the c++/code generation/runtime library setting to Multi-Threaded DLL (/MD) and now it works, now I'm just struggling to find all the dlls to make it run
thanx for all your help!
netsurferj
03-09-2008 12:31:30
hey
I have one dll error with coredll.dll. I donwloaded it from some arb websites but none of them works.
I am receiving the error: "The ordinal 1346 could not be located in the dynamic link library COREDLL.dll"
I searched for coredll.dll on my pc and found that assert.h uses this. I then searched for assert.h and found that this is used in NxAssert and many other nxogre files.
I would like to know where I could download a correct version of COREDLL.dll or some other way of fixing this error?
I am using vs8, thanx
betajaen
03-09-2008 12:34:50
I've never heard of "Coredll.dll", but assert is a function inbuilt into the C++ language headers, much like stdio.h, or the stl classes.
mcaden
03-09-2008 14:19:46
This sounds like the sort of thing where you're using visual studio 2005 without installing SP1.
netsurferj
03-09-2008 20:12:58
I have sp1 installed. All my research showed that it has something to do with windows CE. I am using Vista (am removing it as soon as I have time
), don't know if this could be the problem?
When I try to run the exe, it asks for coredll.dll, and once that is there it asks for MMVCP70.dll and MMVCR70.dll, although I am using VS8. I have no idea if this is because I donwloaded an older version of coredll.dll.
thanx for the .22 release betajean!
netsurferj
03-09-2008 20:33:42
netsurferj
09-09-2008 20:42:41
Hi
I finally solved the problem. I am using navi to play swfs, and the incorrect dlls for navi caused my many problems. I compiled the navi demo in release and copied all the dlls and gecko folder to my release folder, and now it works!
I also compared my vs settings to those of an ogre demo's release mode.
thanx for all the replies.