Difference between revisions of "FAQ"

From Code::Blocks
m (→‎Compiling (general): Add link to FAQ 15)
 
(58 intermediate revisions by 12 users not shown)
Line 1: Line 1:
 
[[Category:Code::Blocks Documentation]]
 
[[Category:Code::Blocks Documentation]]
== General ==
+
<!-- Editors, note that the HTML anchors (<span id="..."></span>) are for external websites that have not updated their links; new questions added to the index can safely ignore this. -->
 +
== [[FAQ-General|General]] ==
  
==== Q: Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret? ====
+
* <span id="Q:_What_is_Code::Blocks.3F"></span>'''[[FAQ-General#Q: What is Code::Blocks?|What is Code::Blocks?]]'''
 +
* <span id="Q:_What_Code::Blocks_is_not.3F"></span>'''[[FAQ-General#Q: What Code::Blocks is not?|What Code::Blocks is not?]]'''
 +
* <span id="Q:_What_licence_is_Code::Blocks_released_under.3F"></span>'''[[FAQ-General#Q: What license is Code::Blocks released under?|What license is Code::Blocks released under?]]'''
 +
* <span id="Q:_When_will_the_next_stable_version_of_Code::Blocks_be_released.3F"></span>'''[[FAQ-General#Q: When will the next stable version of Code::Blocks be released?|When will the next stable version of Code::Blocks be released?]]'''
 +
* <span id="Q:_Is_it_possible_to_integrate_the_win32-help_as_in_dev-cpp.2C_to_get_help_on_the_items_under_the_caret.3F"></span>'''[[FAQ-General#Q: Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret?|Is it possible to integrate the win32-help as in dev-cpp, to get help on the items under the caret?]]'''
  
'''A:''' Integration of the Win32 API helpfile should be a no-brainer. Someone could just write a really simple plugin and, upon invocation (through a shortcut possibly), look at the word under the cursor and invoke windows help... If you think you 're up to the task, I can help you with all the info you need. If not, I could write it myself but no promises on a release date ;)
+
== [[FAQ-Compiling (general)|Compiling (general)]] ==
  
==== Q: What licence is Code::Blocks released under? ====
+
* <span id="Q:_What_compiler_can_I_use_with_Code::Blocks.3F"></span>'''[[FAQ-Compiling (general)#Q: What compiler can I use with Code::Blocks?|What compiler can I use with Code::Blocks?]]'''
 +
* <span id="Q:_My_project_should_be_compiled_with_a_custom_makefile._Is_it_possible_with_Code::Blocks.3F"></span>'''[[FAQ-Compiling (general)#Q: My project should be compiled with a custom makefile. Is it possible with Code::Blocks?|My project should be compiled with a custom makefile. Is it possible with Code::Blocks?]]'''
 +
* <span id="Q:_I_have_downloaded_MS_VC.2B.2B_Toolkit_2003_for_a_compiler._How_do_I_tell_Code::Blocks_that_it_is_my_compiler.3F"></span>'''[[FAQ-Compiling (general)#Q: I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler?|I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler?]]'''
 +
* <span id="Q:_Microsoft_calls_MSVCRT.DLL_a_.22Known_DLL..22_How_do_I_know_if_I_can.2Fshould_use_it.3F"></span>'''[[FAQ-Compiling (general)#Q: Microsoft calls MSVCRT.DLL a "Known DLL." How do I know if I can/should use it?|Microsoft calls MSVCRT.DLL a "Known DLL." How do I know if I can/should use it?]]'''
 +
* <span id="Q:_How_can_I_use_a_DLL_without_DEF_or_LIB_files.3F"></span>'''[[FAQ-Compiling (general)#Q: How can I use a DLL without DEF or LIB files?|How can I use a DLL without DEF or LIB files?]]'''
 +
* <span id="Q:_Where_are_the_libraries_for_the_OpenGL.2C_Ogre3D.2C_SDL.2C_QT.2C_wxWidgets_etc._projects.3F"></span>'''[[FAQ-Compiling (general)#Q: Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects?|Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects?]]'''
 +
* <span id="Q:_Is_it_possible_to_use_Visual_C.2B.2B_6.0_with_Code::Blocks.3F"></span>'''[[FAQ-Compiling (general)#Q: Is it possible to use Visual C++ 6.0 with Code::Blocks?|Is it possible to use Visual C++ 6.0 with Code::Blocks?]]'''
 +
* <span id="Q:_I_would_like_to_compile_a_project_using_some_non-standard_libraries._How_can_I_indicate_to_CodeBlocks_that_these_libraries_and_include_files_exist.3F"></span>'''[[FAQ-Compiling (general)#Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?|I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist?]]'''
 +
* <span id="Q:_How_do_I_use_both_Debug_and_Release_builds_of_wx_libraries.3F"></span>'''[[FAQ-Compiling (general)#Q: How do I use both Debug and Release builds of wx libraries?|How do I use both Debug and Release builds of wx libraries?]]'''
 +
* <span id="Q:_How_do_I_add_version_information_to_windows_executables_and_dll.27s.3F"></span>'''[[FAQ-Compiling (general)#Q: How do I add version information to windows executables and dll's?|How do I add version information to windows executables and dll's?]]'''
 +
* <span id="Q:_Code::Blocks_does_not_force_relink_if_the_library_is_changed.3F"></span>'''[[FAQ-Compiling (general)#Q: Code::Blocks does not force relink if the library is changed?|Code::Blocks does not force relink if the library is changed?]]'''
 +
* <span id="Q:_How_do_I_report_a_compilation_problem_on_the_forums.3F"></span>'''[[FAQ-Compiling (general)#Q: How do I report a compilation problem on the forums?|How do I report a compilation problem on the forums?]]'''
 +
* <span id="Q:_All_of_the_Build_related_options_are_grayed_out.3F"></span>'''[[FAQ-Compiling (general)#Q: All of the Build related options are grayed out?|All of the Build related options are grayed out?]]'''
 +
* <span id="Q:_I_get_a_blank_.28black.29_terminal_window_on_windows.3F"></span>'''[[FAQ-Compiling (general)#Q: I get a blank (black) terminal window on windows|I get a blank (black) terminal window on windows]]'''
 +
* <span id="Q:_My_program_runs_in_codeblocks_but_if_i_start_it_from_the_outside_it_only_flashes_and_closes_immediately.3F"></span>'''[[FAQ-Compiling (general)#Q: My program runs in codeblocks but if i start it from the outside it only flashes and closes immediately| My program runs in codeblocks but if i start it from the outside it only flashes and closes immediately]]'''
  
'''A:''' GNU General Public License 2 ([http://www.gnu.org/licenses/gpl.txt GPL])
+
== [[FAQ-Compiling (errors)|Compiling (errors)]] ==
  
== Compiling ==
+
* <span id="Q:_How_do_I_troubleshoot_a_compiler_problem.3F"></span>'''[[FAQ-Compiling (errors)#Q: How do I troubleshoot a compiler problem?|How do I troubleshoot a compiler problem?]]'''
 +
* <span id="Q:_What_do_I_need_to_know_when_using_3rd_party_libs.3F"></span>'''[[FAQ-Compiling (errors)#Q: What do I need to know when using 3rd party libs?|What do I need to know when using 3rd party libs?]]'''
 +
* '''[[FAQ-Compiling (errors)#Q: My simple C++ program throws up lots of errors - what is going on?|My simple C++ program throws up lots of errors - what is going on?]]'''
 +
* <span id="Q:_I_imported_a_MSVCToolkit_project.2Fworkspace.2C_but_Code::Blocks_insists_on_trying_to_use_GCC._What.27s_wrong.3F"></span>'''[[FAQ-Compiling (errors)#Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong?|I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong?]]'''
 +
* <span id="Q:_When_compiling_a_wxWidgets_project.2C_I_get_several_.22variable_.27vtable_for_xxxx.27_can.27t_be_auto-imported.22._What.27s_wrong.3F"></span>'''[[FAQ-Compiling (errors)#Q: When compiling a wxWidgets project, I get several "variable 'vtable for xxxx' can't be auto-imported". What's wrong?|When compiling a wxWidgets project, I get several "variable 'vtable for xxxx' can't be auto-imported". What's wrong?]]'''
 +
* <span id="Q:_I_can.27t_compile_a_multithreaded_app_with_VC_Toolkit.21_Where_are_the_libraries.3F"></span>'''[[FAQ-Compiling (errors)#Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries?|I can't compile a multithreaded app with VC Toolkit! Where are the libraries?]]'''
 +
* <span id="Q:_I_get_this_error_when_compiling:_Symbol_.22isascii.22_was_not_found_in_.22codeblocks.dll.22"></span>'''[[FAQ-Compiling (errors)#Q: I get this error when compiling: Symbol "isascii" was not found in "codeblocks.dll"|I get this error when compiling: Symbol "isascii" was not found in "codeblocks.dll"]]'''
 +
* <span id="Q:_My_build_fails_with_multiple_undefined_reference_errors.3F"></span>'''[[FAQ-Compiling (errors)#Q: My build fails with multiple undefined reference errors?|My build fails with multiple ''undefined reference'' errors?]]'''
 +
* <span id="Q:_My_build_fails_in_the_compile.2Flink.2Frun_step_with_a_Permission_denied_error.3F"></span>'''[[FAQ-Compiling (errors)#Q: My build fails in the compile/link/run step with a Permission denied error?|My build fails in the compile/link/run step with a ''Permission denied'' error?]]'''
 +
* '''[[FAQ-Compiling (errors)#Q: My build fails to link due to multiple definition of xyz errors?|My build fails to link due to ''multiple definition of xyz'' errors?]]'''
 +
* <span id="Q: How can I change the language of the compiler (gcc) output to english?"></span>'''[[FAQ-Compiling_(errors)#Q:_How_can_I_change_the_language_of_the_compiler_.28gcc.29_output_to_english.3F|How can I change the language of the compiler (gcc) output to English?]]'''
  
==== Q: What compiler can I use with Code::Blocks? ====
+
== [[FAQ-Settings|Settings]] ==
  
'''A:''' Code::Blocks philosophy is to be able to use any compiler on earth! Well, almost.
+
* <span id="#Q:_How_do_I_get_Code_Completion_to_work.3F"></span>'''[[FAQ-Settings#Q: How do I get Code Completion to work?|How do I get Code Completion to work?]]'''
 +
* <span id="#Q:_How_do_I_make_Code::Blocks_portable.3F"></span>'''[[FAQ-Settings#Q: How do I make Code::Blocks portable?|How do I make Code::Blocks portable?]]'''
 +
* <span id="#Q:_Code::Blocks_option_xyz_is_missing.3F"></span>'''[[FAQ-Settings#Q: Code::Blocks option xyz is missing?|Code::Blocks option ''xyz'' is missing?]]'''
 +
* '''[[FAQ-Settings#Q: How do I change the default location of the output terminal?|How do I change the default location of the output terminal?]]'''
  
As a matter of fact it largely depends on the used compiler plugin. The one provided with the default Code::Blocks installation, supports GNU GCC (MinGW/Cygwin), MS Visual C++ Free Toolkit 2003, Borland's C++ Compiler 5.5, DigitalMars Free Compiler., OpenWatcom and Small Device C Compiler (SDCC).
+
== [[FAQ-Issues and Workarounds|Issues and Workarounds]] ==
  
==== Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What's wrong? ====
+
* <span id="Q:_Sometime.2C_in_the_text_editor.2C_space_bar_triggers_Code_Completion.2C_how_do_I_fix_that.3F"></span>'''[[FAQ-Issues and Workarounds#Q: Sometime, in the text editor, space bar triggers Code Completion, how do I fix that?|Sometime, in the text editor, space bar triggers Code Completion, how do I fix that?]]'''
 
+
* <span id="Q:_IDE_is_drawing_the_text_from_Right_to_Left.3F"></span>'''[[FAQ-Issues and Workarounds#Q: IDE is drawing the text from Right to Left?|IDE is drawing the text from Right to Left?]]'''
'''A:''' A little documentation problem ^^;. The "default compiler" is usually GCC, so when you imported it with "the default compiler", you told it to use GCC. To fix this situation, go to "Project", "Build Options" and select VC++ Toolkit as your compiler.
+
* <span id="Q:_All_the_options_in_the_debug_menu_are_grayed_out.3F"></span>'''[[FAQ-Issues and Workarounds#Q: All the options in the debug menu are grayed out?|All the options in the debug menu are grayed out?]]'''
 
+
* <span id="Q:_My_project_works_everywhere_except_one_computer.3F"></span>'''[[FAQ-Issues and Workarounds#Q: My project works everywhere except one computer?|My project works everywhere except one computer?]]'''
Another possibility is to put the Microsoft compiler as the default one.  To do this, choose '''''Settings - Compiler''''', choose the Microsoft compiler in the '''''Selected Compiler''''' section (top of dialog box) and press the '''''Set as default''''' button.
+
* <span id="Q:_Syntax_highlighting_is_broken.3B_how_do_I_fix_it.3F"></span>'''[[FAQ-Issues and Workarounds#Q: Syntax highlighting is broken; how do I fix it?|Syntax highlighting is broken; how do I fix it?]]'''
 
+
* <span id="Q:_I_posted_on_the_forums_that_Code::Blocks_was_not_working.2C_but_no_one_could_help_me.3F"></span>'''[[FAQ-Issues and Workarounds#Q: I posted on the forums that Code::Blocks was not working, but no one could help me?|I posted on the forums that Code::Blocks was not working, but no one could help me?]]'''
From now onwards, for all new projects the Microsoft compiler will be taken by default.
+
* <span id="Q:_I_cannot_find_any_text_in_my_Code::Blocks_logs.3F"></span>'''[[FAQ-Issues and Workarounds#Q: I cannot find any text in my Code::Blocks logs?|I cannot find any text in my Code::Blocks logs?]]'''
 
+
* <span id="Q:_Scrolling_causes_gray_areas.2Fdistortions_to_obscure_my_code_in_the_editor.3F"></span>'''[[FAQ-Issues and Workarounds#Q: Scrolling causes gray areas/distortions to obscure my code in the editor?|Scrolling causes gray areas/distortions to obscure my code in the editor?]]'''
==== Q: My project should be compiled with a custom makefile. Is it possible with Code::Blocks? ====
+
* '''[[FAQ-Issues and Workarounds#Q: I cannot type a greater-than '>' sign?|I cannot type a greater-than '>' sign?]]'''
 
+
* '''[[FAQ-Issues and Workarounds#Q:_Using_Code::Blocks_with_high_dpi_screens_and_windows|Using Code::Blocks with high dpi screens and windows]]'''
'''A:''' Yes, you can. You need to change two different settings:
 
 
 
a) In "Compiler Settings", under the tab "Other", there's a setting called "Build Method". Choose "Work with makefiles".
 
 
 
b) In your project's Properties, you can choose to use a makefile. Check "This is a custom makefile" (WARNING! if you forget to check, the makefile will be OVERWRITTEN!)
 
 
 
And that's it! :)
 
 
 
==== Q: I have downloaded MS VC++ Toolkit 2003 for a compiler. How do I tell Code::Blocks that it is my compiler? ====
 
 
 
'''A:''' Click on "Project/Build options" and select the compiler you want for your project/target.
 
 
 
==== Q: When compiling a wxWidgets project, I get several "variable 'vtable for xxxx' can't be auto-imported". What's wrong? ====
 
 
 
'''A:''' You need to add WXUSINGDLL in "Project->Build options->Compiler #defines" and rebuild your project (or create a new project and use the "Using wxWidgets DLL" project option which adds "-DWXUSINGDLL" to Project->Build options->Other options).
 
Other errors with the same resolution are:
 
'unresolved external symbol "char const * const wxEmptyString" (?wxEmptyString@@3PBDB)' or similar.
 
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that's fixed now.
 
 
 
==== Q: I can't compile a multithreaded app with VC Toolkit! Where are the libraries? ====
 
 
 
'''A:''' Sorry, no fix for your problem...
 
 
 
Your problem doesn't come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn't provide all the libraries and tools which are coming with Visual C++ (VC) which isn't free, unfortunately.
 
 
 
Try buying a full-fledged VC++, or even better, download [http://www.mingw.org/ MinGW]
 
 
 
The libraries that can be obtained free of charge are:
 
 
 
Paths:
 
(VCT3) Visual C++ Toolkit 2003 - C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib
 
(PSDK) Platform SDK - C:\Program Files\Microsoft Platform SDK\Lib
 
(NSDK) .NET 1.1 SDK - C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
 
 
 
C runtime libs:
 
LIBC.LIB Single-threaded, static link                                          (VCT3, NSDK)
 
LIBCMT.LIB Multithreaded, static link                                            (VCT3, NSDK)
 
MSVCRT.LIB Multithreaded, dynamic link (import library for MSVCR71.DLL)          (NSDK)
 
LIBCD.LIB Single-threaded, static link (debug)                                  (VCT3, NSDK)
 
LIBCMTD.LIB Multithreaded, static link (debug)                                    (NSDK)
 
MSVCRTD.LIB Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)
 
 
 
C++ libs:
 
LIBCP.LIB Single-threaded, static link                                          (VCT3, PSDK)
 
LIBCPMT.LIB Multithreaded, static link                                            (VCT3)
 
MSVCPRT.LIB Multithreaded, dynamic link (import library for MSVCP71.dll)          (none)
 
LIBCPD.LIB Single-threaded, static link (debug)                                  (VCT3)
 
LIBCPMTD.LIB Multithreaded, static link (debug)                                    (none)
 
MSVCPRTD.LIB Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)
 
 
 
Try setting the library linker directories to:
 
C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib
 
C:\Program Files\Microsoft Platform SDK\Lib
 
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
 
in that order.
 
 
 
The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory.  Not sure if these would work on 32-bit windows, however, they may if they are
 
meant to work in 32-bit compatibility mode on the 64-bit processors.  Worth a try.  Otherwise, you
 
can link statically to the C++ library instead of using MSVCP71.dll.  If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed.  Search google for "exports.sed" for detailed steps.
 
 
 
See also: [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]
 
 
 
See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp
 
 
 
See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit
 
 
 
==== Q: Microsoft calls MSVCRT.DLL a "Known DLL." How do I know if I can/should use it ? ====
 
 
 
Microsoft does not clearly describe what [http://msdn2.microsoft.com/en-us/library/abx4dbyh.aspx 'Known DLL'] means. A [http://www.zlib.net/DLL_FAQ.txt zLib FAQ entry] makes it much more clear. The short answer is that MSVCRT.DLL is a protected system component and to preserve system integrity it cannot be updated by any end user product installers but may be updated from time to time by system updates. If it works use it. If it doesn't you'll need use a non protected library such as MSVCR70 or MSVCR80 which not only can be updated but private versions can be installed. A small and simple C program is likely to work just fine with MSVCRT.DLL. A large and complex C++ program is more likely to need the additional functionality of MSVCR.
 
 
 
The MSVCRT.LIB that ships with Visual C++ Toolkit 2003 dynamically links to MSVCR71.DLL which is not present in a freshly installed Windows XP system. MSVCR only appears after some software package that needs it such as [http://www.adobe.com/ Adobe Acrobat Reader] is installed. This means that programs that depend on MSVCR must redistribute it or risk not working on a substantial percentage of systems for reasons not obvious to either the affected end users or the program supplier. For projects that can safely use MSVCRT and where it is impractical to redistribute MSVCR, a MSVCRT.LIB that links to MSVCRT.DLL is available in any [http://www.microsoft.com/whdc/devtools/ddk/default.mspx Device Driver Kit]. It is best to preserve the MSVCRT.LIB provided by the compiler and alter the name of the MSVCRT.LIB extracted from a DDK. List your newly named MSVCRTxx in the libs and to prevent problems it is recommended to include both /MD and /NODEFAULTLIB:MSVCRT switches so that problems come up at link time instead of random crashes at run time. Be sure to load your programs into [http://www.dependencywalker.com/ Dependancy Walker] to ensure that functions aren't being linked into MSVCRxx.DLL and MSVCRT.DLL. It is essential that malloc, calloc, realloc, free, and related memory allocation functions all import from the same DLL. If you use MSVCRT.LIB from the Windows 2003 DDK you may encounter the link '''error LNK2001: unresolved external symbol ___security_cookie'''. This can be solved by switching to the MSVCRT.LIB in the Windows XP DDK or by linking '''bufferoverflowU.lib''' found in the Windows SDK.
 
 
 
Source: [http://wiki.tcl.tk/11431 TCL Wiki]
 
 
 
==== Q: How can I use a DLL without DEF or LIB files ? ====
 
 
 
'''A:''' I tried to find a solution, and the following script solved the problem for me. I used a cygwin environment for ''tclsh'' and ''sed'', but the MinGW tools for ''objdump'' and ''dlltool''. See here [http://wiki.tcl.tk/2435 tclsh script to extract import .lib from (any?) DLL (MinGW)]
 
 
 
TODO: Someone might add some informations about problems
 
 
 
Request: Is MinGW or Code::Blocks able to support automatic generation of import libraries ?
 
 
 
See also: http://www.mingw.org/mingwfaq.shtml#faq-msvcdll
 
 
 
See also: http://wyw.dcweb.cn/stdcall.htm
 
 
 
==== Q: Where are the libraries for the OpenGL, Ogre3D, SDL, QT, wxWidgets etc. projects? ====
 
 
 
'''A:''' They're not bundled. The templates were provided for your convenience, but you need to download the libraries on your own.
 
In common terms, "batteries not included" :)
 
 
 
==== Q: Is it possible to use Visual C++ 6.0 with Code::Blocks? ====
 
 
 
'''A:''' Yes. See [[Integrating Microsoft Visual C 6 with Code::Blocks IDE]] for a detailed description on using VC++ 6.0 with Code::Blocks.
 
 
 
==== Q: I get this error when compiling: Symbol "isascii" was not found in "codeblocks.dll" ====
 
'''A:''' Make sure you didn't mix up the MSVC headers or libs with the MinGW ones.
 
 
 
==== Q: I would like to compile a project using some non-standard libraries. How can I indicate to CodeBlocks that these libraries and include files exist? ====
 
'''A:''' You can specify them for your global environment or just for your project.
 
 
 
For global environment :<br />
 
- Menu <i>Settings/Compiler and debugger</i><br />
 
- In the <i>Global compiler settings</i>, select the directories tab<br />
 
- Add the required paths for compiler and linker.<br />
 
<br />
 
For your project :<br />
 
- Right click on the project then select <i>Build options</i><br />
 
- Select the directories tab<br />
 
- Add the required paths for compiler and linker.<br />
 
- Add your specific libraries in the linker tab.<br />
 
- Pay attention to project settings and target settings.
 
==== Q: How do I use both Debug and Release builds of wx libraries? ====
 
'''A:''' I would use the default method of doing it and the default folder naming.
 
 
 
Using these C::B custom varibles
 
WX_SUFFIX=""  // ANSI Release
 
WX_SUFFIX="d"  // ANSI Debug
 
WX_SUFFIX="u"  // Unicode Release
 
WX_SUFFIX="ud"  // Unicode debug
 
 
 
I use WX_CFG when I am using a special configuration
 
WX_CFG="rc3"
 
 
 
Remember, the CodeBlocks globel variable WX needs to point to the wxWidgets folder.
 
 
 
Example minGW build command for "Unicode debug" 2.8.0 RC3
 
 
 
mingw32-make -f makefile.gcc VENDOR=rc3 CFG=rc3 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug  UNICODE=1
 
 
 
"VENDOR=" just puts rc3 in the DLL name; "CFG=" sets which folder the DLL is placed in. In this case in lib\gcc_dllrc3
 
 
 
Before using CFG in the mingw32-make build you need to  do one prior wxWidget build without using it; else the build errors out. (See note below.)
 
 
 
"__WXDEBUG__" must be defined (in the codeblocks project setting) if you wish to link against the  debug version of wxWidgets DLL. Else you will get a runtime error, when you try to run your project output.
 
 
 
Contributed by Tim S
 
 
 
Note:
 
*I have never gotten the following command to work
 
  mingw32-make -f makefile.gcc VENDOR=rc3 CFG=rc3 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug  UNICODE=1
 
 
 
*unless I have first run this command on the same wxWidgets folders
 
  mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug  UNICODE=1
 
 
 
*I am guessing that the build without the CFG creates a file or directory needed by the build with the CFG.
 
 
 
==== Q: How do I troubleshoot an compiler problem? ====
 
'''A:''' I would turn on full Compiler logging.
 
 
 
This is done by enabling the "Full command line" Under menu "Settings" -> "Compiler" -> "Other" tab, "Compiler logging".
 
 
 
== Settings ==
 
 
 
==== Q: How do I get Code Completion to work? ====
 
'''A:''' Did you check how code completion is configured ?
 
See "Settings/Editor", click on "Code-completion and symbols browser" in the left column and check the Code completion and C/C++ parser tabs.
 
 
 
From the 2006/11/30 nightly build, you can also add, in the project properties, directories to be searched when locating a file to parse  .Right click on the project, click on Properties and select the C/C++ parser options.
 
 
 
They 're mostly useful when you don't add compiler search dirs in build options but use backticked expressions (e.g. `freetype-config --cflags`). In this case, the parser is not aware of where the source files are located. So, by manually adding the directory in the parser's search dirs you 're actually helping the parser find the files.
 
 
 
Of course, backticked expressions are not the only reason these parser search dirs are useful. As another example, I have a set of projects in a workspace. To minimize maintenance overhead, I 'm using build scripts to configure these projects. Now, although build scripts are an awesome feature, the C/C++ parser faces the same problem: it doesn't know where to search for files. The parser search directories come to the rescue again.
 

Latest revision as of 23:08, 16 September 2017

General

Compiling (general)

Compiling (errors)

Settings

Issues and Workarounds