Sorry for this! I am using C++ Builder and I didn't realize this. I will look for the proper settings in the Editor. I really hope you haven't spent too much time to recover my changes....
Eliminated some more nullptr warnings. See [feature-requests:#248].
Eliminated some nullptr warnings. See [feature-requests:#248].
Is there a way to contribute with this action? You are doing a wonderful and huge work. Do you want to continue by yourself, or may I try to contribute? I am not an expert of SVN, but I think I can learn how to manage it...
You are right. For what I have understood the clang version of the 11.3 community edition is 5.0, while the one that comes with the 12.1 is 15.0. The list of the warining of the clang (19.0) can be found here (https://clang.llvm.org/docs/DiagnosticsReference.html#wreserved-macro-identifier), so I deduce that some of the warnings and flags were introduced AFTER clang 5.0. If this is true, it may be that it might also occur for other warnings.....
OK, here's my unreliable benchmarks (just one build for each version). C++ Builder 11.3, Community edition. 64 bit DLL, VCL compatible. trunk version 7037: time 12:21, warnings 46954, size 7453 KB (some classes are missing as compared to OWL7, so I also assume less code to compile). Minor changes to the code. branch version C:\owlnext-code-r7037-branches-7.0: time 13:52, warnings 78045, size 8050 KB OWLNext 7.13: time 16:28, warnings 129797, size 8050 KB
Well I have discovered that warnings can be disabled with the clang compiler via pragmas. So, with C++ Builder and the clang you can disable some of them by adding these (e.g. at the beginning of a header file): #pragma clang diagnostic ignored "-Wold-style-cast" #pragma clang diagnostic ignored "-Wpadded" #pragma clang diagnostic ignored "-Wc99-compat" #pragma clang diagnostic ignored "-Wcast-qual" #pragma clang diagnostic ignored "-Wconversion" #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"...
Well I have discovered that warnings can be disabled with the clang compiler via pragmas. So, with C++ Builder and the clang you can disable some of them by adding these (e.g. at the beginning of a header file): #pragma clang diagnostic ignored "-Wold-style-cast" #pragma clang diagnostic ignored "-Wpadded" #pragma clang diagnostic ignored "-Wc99-compat" #pragma clang diagnostic ignored "-Wcast-qual" #pragma clang diagnostic ignored "-Wconversion" #pragma clang diagnostic ignored "-Wzero-as-null-...
Well, I did the following 3 tests, by compiling the same dozen of DLLs, one test after the other: 1) with all warnings on (94K warnings): time 23 minutes 2) disabling all warnings: time 10 minutes 3) again, with all warnings on (94K warnings): time 21 minutes Not all warnings are from the OWLNext, of course, but reducing them will significantly reduce compilation time. At least this is what I strongly suspect....
Hi, I am using the Community Edition (11.3) and the clang compiler. I get these messages while building my own software, which is huge. While building all (about 70 exes and dlls) it slows down, it takes about two hours on my i9 32GB PC, and I suspect that one reason could be the huge list of warnings that I get. It is much much faster with the old "classic" 32 bit compiler (10 minutes). I know the64 bit compiler and linker are slower, but not that much. Finally, I have tried different precompiled...
Hi to all, when I compile my code with Embarcadero clang compiler, I get a huge collection of warnings (more than 50k) because OWLNext is using 0 instead of nullptr for initializing pointers. I know I can disable the warning, but maybe it would be better to update OWLNext and turn the 0s into nullptr. In case I could do it, but what's the best way to do it?
For VCL build mode
Updates to allow 64bit build VCL DLL build mode with Emabarcadero C++ Builder 10.4
Changes to allow VCL DLL build with Embarcadero C++ Builder 10.4 (clang)
Dear all, after a bit of trouble, and several attempts, I have been able to port my OWLNext 6.44 with mixed VCL code software to OWLNext 7, 64 bit, VCL mode. It has been hard and I haven't solved all the issues, but it seems I have solved the main ones. I have been able to build a 64bit dll with VCL compatibility and I can share with you my project file for replicating it and eventually improving it. I also want to thank (again) all the people that are keeping alive this project and that contributed...
Just an update: I've been able to compile the DLL, but I still don't know if it works!!! I will update you and if someone is interested in the updated cbproj file, please let me know. Luigi
Thanks Vidar, I've tried but unsuccessfully: I have successfully recompiled OWLMaker with VC2019 (I had to comment out some lines of code regarding Tooltip) but I had no success. I modified the toolset to enable the flags Dynamic and VCL, but I was just able to create another static lib, but with an 'i' appended to the name. I don't know if there are other options. Does anybody have any suggestions?
Hi, is there any chance to have OWLNext 6.44 or 7 built as DLL with the new clang compiler? I'd like to switch to 64 bits mode, but I cannot use Visual Studio as I have lots of VCL code.... Thank you in advance, Luigi
Actually the fix seems to be quite easy: there are two different version.h files, one in \source\owlcore\version.h in which OWL_VERSION(v) is defined as #define OWL_VERSION(v) v(6,44,3,$WCREV$) whereas in \include\owl\version.h it is defined as #define OWL_VERSION(v) v(6,44,0,0) Apparently, turning this last into #define OWL_VERSION(v) v(6,44,3,0) solves the problem
Actually the fix seems to be quite easy: there are two different version.h files, one in \source\owlcore\version.h in which OWL_VERSION(v) is defined as define OWL_VERSION(v) v(6,44,3,$WCREV$) whereas in \include\owl\version.h it is defined as define OWL_VERSION(v) v(6,44,0,0) Apparently, turning this last into define OWL_VERSION(v) v(6,44,3,0) solves the problem
Wrong import LIB version
Hi, I'm close to release an improved version of my (very) old Dfm2API utility, which...
Error compiling 6.44 with XE5