hsiang-lee / gerber-parser

gerber-parser is a library for parsing and rendering gerber files. Rs274x is implemented by it. By default, it use Qt painting system to render. You can also write you own painting engine using other painting interface if you donot want to use Qt.
MIT License
72 stars 14 forks source link

Assistance Required with Gerber Parser Integration #61

Open bharath107 opened 10 months ago

bharath107 commented 10 months ago

Dear leehsiang ,

I hope this email finds you well. My name is Bharath, and I recently came across your Gerber Parser library on [github/repository]. I am working on a Gerber Viewer project and found your parser to be very useful for my needs.

However, I encountered some difficulties when attempting to integrate the library into my project. After successfully building the library [#include "gerber_parser/gerber_parser.h"] using CMake and including the necessary headers in my source code, I encountered the following compilation errors:

![Uploading Screenshot 2023-11-27 143807.png…]()

I have followed the installation instructions provided in the repository, and I believe I may be missing something or have encountered a compatibility issue. I would greatly appreciate your assistance in resolving these issues so that I can successfully use the Gerber Parser in my project.

If you could provide guidance on how to address these compilation errors or any additional steps I may have overlooked, it would be immensely helpful.

Thank you in advance for your time and support. I appreciate the effort you've put into developing this library and look forward to hearing from you soon.

Best regards,

[Bharath] [bharathmn.4463@gmail.com] [+91 6361323819]

hsiang-lee commented 10 months ago

Could you please copy and print the compilation errors here? I can't see the screenshot image you uploaded and I do not know why.

bharath107 commented 10 months ago

Severity Code Description Project File Line Suppression State Error (active) E0757 variable "BoundBox" is not a type name gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 24 Error (active) E0757 variable "BoundBox" is not a type name gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 40 Error (active) E0757 variable "BoundBox" is not a type name gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 27 Error (active) E0757 variable "BoundBox" is not a type name gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 29 Error (active) E0254 type name is not allowed gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 6 Error C2062 type 'double' unexpected gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 6 Error (active) E0345 too few parameters for this operator function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 29 Error C2146 syntax error: missing ';' before identifier 'Scaled' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 27 Error C2146 syntax error: missing ';' before identifier 'GetBBox' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 40 Error C2143 syntax error: missing ';' before '}' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 30 Error C2143 syntax error: missing ';' before '}' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 54 Error C2143 syntax error: missing ';' before '{' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 27 Error C2143 syntax error: missing ',' before '&' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 24 Error C2143 syntax error: missing ',' before '&' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 29 Error C2059 syntax error: '}' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 30 Error C2059 syntax error: '}' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 54 Error C2059 syntax error: 'public' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 11 Error C2059 syntax error: 'public' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 25 Error C2059 syntax error: 'private' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 50 Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 12 Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 24 Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 27 Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 29 Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 32 Error C4430 missing type specifier - int assumed. Note: C++ does not support default-int gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 40 Error (active) E0070 incomplete type is not allowed gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 23 Error (active) E0070 incomplete type is not allowed gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 4 Error (active) E0029 expected an expression gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 24 Error (active) E0169 expected a declaration gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 49 Error (active) E0169 expected a declaration gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 53 Error (active) E0169 expected a declaration gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 11 Error (active) E0169 expected a declaration gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 30 Error (active) E0067 expected a '}' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 32 Error (active) E0067 expected a '}' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 6 Error (active) E0253 expected a ',' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 6 Error C2805 binary 'operator ==' has too few parameters gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 29 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 34 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 37 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 40 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 40 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 44 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 47 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 14 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 15 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 16 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 17 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 19 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 20 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 21 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 27 Error (active) E1670 a type qualifier is not allowed on a nonmember function gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 29 Error C2447 '{': missing function header (old-style formal list?) gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 27 Error C2270 'Width': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 20 Error C2270 'Unit': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 38 Error C2270 'Top': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 16 Error C2270 'Right': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 15 Error C2803 'operator ==' must have at least one formal parameter of class type gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 29 Error C2270 'Name': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 41 Error C2270 'Left': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 14 Error C2270 'IsNegative': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 35 Error C2086 'int BoundBox': redefinition gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 27 Error C2086 'int BoundBox': redefinition gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 40 Error C2270 'Height': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 21 Error C2270 'GetLayers': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 47 Error C2270 'GetAperture': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 44 Error C2365 'Gerber': redefinition; previous definition was 'data variable' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 32 Error C2079 'Gerber' uses undefined class 'GerberApi' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 23 Error C2270 'Center': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 19 Error C2365 'BoundBox': redefinition; previous definition was 'data variable' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 12 Error C2079 'BoundBox' uses undefined class 'GerberApi' gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 4 Error C2270 'Bottom': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 17 Error C2270 '==': modifiers not allowed on nonmember functions gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber_parser\bound_box.h 29 Error C2588 '::~Gerber': illegal global destructor gerber_viewer1 C:\Users\SVT\Desktop\gerber-parser-master\lib\windows\include\gerber\gerber.h 32

On Mon, Dec 18, 2023 at 8:04 AM Lee Hsiang @.***> wrote:

Could you please copy and print the compilation errors here? I can't see the screenshot image you uploaded and I do not know why.

— Reply to this email directly, view it on GitHub https://github.com/hsiang-lee/gerber-parser/issues/61#issuecomment-1859450293, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOWBWSK4QHRVBFDG3MZFV7LYJ6TURAVCNFSM6AAAAAA73VXC3OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJZGQ2TAMRZGM . You are receiving this because you authored the thread.Message ID: @.***>

hsiang-lee commented 10 months ago

cd gerber-parser mkdir build cd build cmake .. -G "NMake Makefiles" -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DQt5_DIR=path/of/Qt

Try these commands please. It always works on my computer.

bharath107 commented 10 months ago

Dear hsiang-lee,

I hope this message finds you well. When attempting to use the provided commands in the command prompt:

bash

cmake .. -G "NMake Makefiles" -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DQt5_DIR=D:/qt5/5.15.2/msvc2019_64

I encountered the following error:

CMake Error at C:/Program Files/CMake/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:67 (message): The C compiler

"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe"

is not able to compile a simple test program. ... NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' : return code '0xffffffff' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\nmake.exe"' : return code '0x2' Stop.

CMake will not be able to correctly generate this project. It seems there is an issue with the C compiler identification, and the compilation process is failing. I have checked the specified paths, and they seem correct. However, the error persists.

Could you please provide guidance on how to address this issue? Your assistance would be highly appreciated.

Thank you for your time and support.

Best regards, Bharath