"OGRE - all": The compiler's setup is invalid so Code::Blocks cannot find/run the compiler. Probably the toolchain path within the compiler options is not setup correctly?! Skipping...
Nothing to be done (all items are up-to-date).
C:\Program Files\Microsoft Visual Studio 10.0\VC
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE
C:\Program Files\Microsoft SDKs\Windows\v7.1\bin
C:\Program Files\Microsoft Visual Studio 10.0\VC\include
C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
C:\Program Files\Microsoft Visual Studio 10.0\VC\lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib
First see if removing all of your paths, then clicking Auto-detect, enables it to work correctly.
If not, try the following.
OK, just double checking something easy had not been missed (I had written from memory as I do not currently have Visual Studio installed).QuoteIf not, try the following.
Amounting to, removing .NET search directories, and adding a (supposed to be unnecessary) \VC\bin directory.
I've turned on compiler logging. Oddly, this has no effect on messages at all. It would seem that "the compiler's setup is invalid" is really to be taken at face value. Nothing is happening that can be logged.I assume you have tried scrolling (I cannot find any text in my Code::Blocks logs? (http://wiki.codeblocks.org/index.php?title=FAQ-Issues_and_Workarounds#Q:_I_cannot_find_any_text_in_my_Code::Blocks_logs.3F)).
If so, then another possibility is a CMake problem, which I haven't explored yet. CMake MinGW builds work fine; this is a CMake Nmake build.Sorry, I had missed when you mentioned CMake the first time.
Try launching Code::Blocks with the -v argument
Perhaps CMake did something goofy. Perhaps C::B just doesn't do what it's supposed to. "Compiler and Debugger" says vc10.Look: If you are using CMake, then Makefiles are being generated which are only called by Code::Blocks. So the compiler / debugger setup of Code::Blocks is not relevant because in case of Makefiles the compiler is not used! All you need to do is that C::B can find the right make executable (nmake in case of VCV10). So verify that the toolchain path is setup to VC10, and includes the folder where nmake is found and the make executable is setup correctly to nmake.
This is probably not an error of Code::Blocks.
Have you read this: http://wiki.codeblocks.org/index.php?title=FAQ-Compiling_%28errors%29#Q:_How_do_I_troubleshoot_a_compiler_problem.3F ?
Quick Checks you can do:
Are you able to compile a Hello World program on the command line ?
Another easy check: do you have the correct Compiler activated in your project / target ? (menu project -> build options, check the value in the combo-box for the main project and all the targets.) If you have not set it manually, and if VC is not your default compiler, then you will have this message.
I would have expected the project options to be the same as I configured with CMake. Pretty rough learning curve if this is expected behavior; thanks for straightening this out.How should that be? Code::Blocks does know nothing about CMake and actually cannot know anything. It's your duty to setup the project to let C::B know what you've actually configured in CMake.
I would have expected the project options to be the same as I configured with CMake. Pretty rough learning curve if this is expected behavior; thanks for straightening this out.How should that be? Code::Blocks does know nothing about CMake and actually cannot know anything. It's your duty to setup the project to let C::B know what you've actually configured in CMake.
Also it is not logical to put the compiler setup in the project,I guess he meant a "pointer" to the compiler to use. This (of course) is in the project file. However, where the compiler is and where it has its resources is (as oBFusCATed stated correctly) user depended. So this is a "user global" configuration you are responsible for inside C::B, not using CMake.
Yes, CMake doesn't know your compiler setup.
Also it is not logical to put the compiler setup in the project,
because the purpose of the project (original one) is to be computer independent,
so you can move the project and it will work on your friends machine,
if he has the correct compiler and libraries.
There is nothing we can do here.
I do know that CMake did not configure the build for vc9. Code::Blocks did that. I think it's unreasonable for C::B to do that when I auto-detected a vc10 compiler.
If you use a CMake created projects, C::B does nothing with the compiler (of course).
The compiler-id is stored in the projectfile and it is only read by C::B (until you change it manually).
So saying C::B has configured the build for a special compiler is not correct.
It seems to me that the C::B default is "Microsoft Visual C++ 2005/2008."My guess is that Cmake writes the wrong compiler ID for MSVC10 in the project file - the MSVC8 one. In the end MSVC10 support is rather new in C::B an I doubt that Cmake is that much up-to-date. I may be wrong though... I am not using Cmake.