c++ - Changing the build output based on x86/x64 and debug/release Code::Blocks/Xcode -
a little background information think here. in project school building cross-platform libraries use future students. has been mandated use popular ide/compiler per platform targeting. means using visual studio 2015 visual c++ compiler windows, code::blocks gcc linux (ubuntu), , xcode clang mac.
we in process of developing test sweet our libraries, have ran of wall. test sweet need know find libraries configurations (x86 debug, x86 release, x64 debug, x64 release).
visual studio makes easy because can choose output directories these different builds.
code::blocks, on other hand, gives me release , debug build options output directories.
xcode whole other issue. gives me 1 option of put output. doesn't care if debug/release or x86/x64. says name folder , i'll put in there.
is there way expand these options in code::blocks , xcode? have looked post build scripts move these libraries me, can't figure out how tell in script if libraries build configuration. i've been instructed libraries have maintain same name renaming them per build configuration isn't option.
i can't xcode, know in codeblocks, can add many build configurations want. they're called build targets they're not same targets in gcc or visual studio make files.
to add additional targets, menu select "project->properties..." , select "build targets" tab. can add 2 new targets project 32 or 64 bit builds. may want rename existing targets reflect build configuration.
at bottom of build targets tab, there set of check boxes called "build target files". @ least on version of codeblocks use, when add new target, of check boxes empty. if that's case you, you'll need check check files needed build configuration.
the final step set compiler options, linker options, include folders, , lib folders new build configurations. click build options button, , add whatever additional compiler , settings , folders appropriate build configuration.
there 1 thing pay attention here. codeblocks lets set compiler , linker options both @ project , target level. default, settings made @ project level applied targets.
for example, simple program, -wall option might set @ project level, -g might set debug configuration, , -o2 might set release configuration. net result when try build debug target, options used compiler "-wall -g" , release target "-wall -o2". similar remarks apply linker options , folders.
in project, if there existing options set @ project level apply 32 or 64 bit targets, you'll need move settings project level individual targets.
Comments
Post a Comment