-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compile error using Code::Blocks // mingw-w64 GCC 8.1.0 - "Incomplete Type" #1193
Comments
Could you please check if the latest develop version fixes this issue? |
Many thanks for the prompt response. Unfortunately, the updated code did not fix the problem I am having. |
What is the error message then? |
The error message remains the same - the variable of the type stringstream has incomplete type. |
Please paste the complete error message. |
-------------- Build: MinGW in StatusDisplay (compiler: GNU GCC Compiler)--------------- g++.exe -fexpensive-optimizations -O3 -Wnon-virtual-dtor -Wshadow -Winit-self -Wredundant-decls -Wcast-align -Wundef -Wfloat-equal -Wunreachable-code -Wmissing-include-dirs -Wswitch-enum -Wswitch-default -Wzero-as-null-pointer-constant -Wmain -pedantic -Wextra -Wall -std=c++17 -fPIC -m64 -c F:\Code\CPP\StatusDisplay\main.cpp -o obj\main.cpp.o |
As an aside, I've added the following lines to the previously working version:
inside this block:
.... to avoid compiler messages when these switches are enabled. |
Could you show the content of |
I've tried the latest develop version - the error remains the same, with ostringstream having an incomplete type. There are about 11,000 lines in main.cpp.... .... so I'll try to cut it back to a bare minimum while still producing the error - even better if I find the cause. :) |
Thanks! |
I've managed to prune main.cpp (and remove all non-standard external dependencies, other than json.hpp, of course): |
That file has no usage of the library other than including it. Does #include "src/json.h"
int main() {} yield an error? |
Good point. The minimalist version you posted does indeed compile. From further iteration, removing the following section from the code I posted yesterday:
results in a successful compile / run. Which is odd, given that the older json.hpp version that I am using that works has no issue with the ostringstream type. |
The new version does not use string streams any longer. |
Interesting - the version that works definitely does use string streams - it may be something to do with the removal of use of string streams that has caused the error to arise. |
I am not sure how to proceed. We have yet to find whether the library causes the error. |
Indeed. It's odd that the older version works and the newer version does not - when the major (apparent) difference is the use (or not) of string streams in the library. I'll continue to use the old version, for which I am both grateful for the effort you put into it and the fact that it works. For reference, the version that I am using was the develop version on 8th June 2018. |
@NickCNA Add |
@reinerh Many thanks indeed - while Much appreciated. Issue closed as it is not library related, rather user error. |
Closed accordingly. |
Latest version of the single include (21st July 2018) fails to compile and throws a warning and error. The previous version used compiled perfectly with exactly the same compiler settings.
Update json.h; compile with mingw-w64 GCC 8.1.0
Successful compile, per previous versions.
Compile warning: "_MSC_VER is not defined"
Compile error: has incomplete type where the type is std::stringstream.
Window 7 and 10; mingw-w64 GCC 8.1.0
develop
branch?Develop (I've always used the develop branch).
The error seems to relate to this change:
From
to
The text was updated successfully, but these errors were encountered: