0

I have an interesting configuration I might be going completely wrong about.

I have a solution that has it's own project, and another two projects that are loaded from two separate submodules of the repository.

I use those projects to build two libraries I use for my own project and then use the pre-build event of the main project to copy freshly built .dlls to the output folder of my project.

However, I've come to a snag. One of the submodule projects is using multi-byte character set, while the other one uses unicode character set.

I can change the character set of my own project, but I cannot change anything within the submodules since I'm changing just my local copy - anyone else who clones the repository would still get the unchanged version.

Is there a way I can somehow edit the project properties via some sort of pre-built event of another project, or something similar?

Doing it this way ensures that anyone who tries to modify project has the .dll version compiled on their own machine. Is that worth the effort or am I just over-complicating things? Should I just compile the libraries and then add the compiled .dlls to my project and leave the submodules out of it?

Karlovsky120
  • 6,212
  • 8
  • 41
  • 94
  • But does having different charter sets in main project and submodules really cause problems? – user7860670 Jul 02 '17 at 12:24
  • The library I'm talking about is log4cplus. I get linker errors if they aren't both multi-byte: https://stackoverflow.com/questions/2848556/c-project-compiles-as-static-lib-fails-linker-error-as-dynamic-lib-why It might work with other projects, but I wanted to check here. There might perhaps be other variables that would cause clashes with another libraries I might use in the future. Wanted to see if that was manageable or not. – Karlovsky120 Jul 02 '17 at 12:26
  • You should link log4cplus build with unicode character set only if you are going to write Unicode characters into it. Otherwise multibyte version is fine. Just make sure that when you include it's headers no `UNICODE` macro is defined. – user7860670 Jul 02 '17 at 13:05

0 Answers0