Somebody heeeeeeelp-me, please

986 views
Skip to first unread message

edu

unread,
Sep 18, 2012, 11:51:29 AM9/18/12
to dislin...@googlegroups.com
Hi.
 
I need plot some graphics in C with dislin. I trying learn how to use DISLIN with the example, but I'm having trouble to compile the code. I use the IDE Code::Blocks 32 bit and Windows 64 bit.
Using DISLIN to windows 64 bit, I get the this list of error:
 
obj\Debug\main.o      In function 'main':
 
obj\Debug\main.o||In function `main':|
main.c|18|undefined reference to `disini'|
main.c|19|undefined reference to `pagera'
main.c|20|undefined reference to `complx'|
main.c|21|undefined reference to `axspos'|
main.c|22|undefined reference to `axslen'|
main.c|23|undefined reference to `name'|
main.c|24|undefined reference to `name'|
main.c|25|undefined reference to `labdig'|
main.c|26|undefined reference to `ticks'|
main.c|27|undefined reference to `ticks'|
main.c|28|undefined reference to `titlin'|
main.c|29|undefined reference to `titlin'|
main.c|31|undefined reference to `intrgb'|
main.c|32|undefined reference to `axsbgd'|
main.c|33|undefined reference to `graf'|
main.c|34|undefined reference to `setrgb'|
main.c|35|undefined reference to `grid'|
main.c|36|undefined reference to `color'|
main.c|37|undefined reference to `height'|
main.c|38|undefined reference to `title'|
main.c|39|undefined reference to `color'|
main.c|40|undefined reference to `curve'|
main.c|41|undefined reference to `color'|
main.c|42|undefined reference to `curve'|
main.c|43|undefined reference to `disfin'|
||=== Build finished: 25 errors, 0 warnings ===|
 
The build finished with 25 errors.
 
Using DISLIN to windows 32 bit and the same code, the build finished with more 50 errors:
 
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `GetStockObject@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `GetStockObject@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `GetDeviceCaps@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `GetDeviceCaps@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `GetDeviceCaps@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `GetDeviceCaps@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `CreatePalette@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `CreatePen@12'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `SelectObject@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `SelectObject@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `SelectPalette@12'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `DeleteDC@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `DeleteObject@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `ChoosePixelFormat@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `SetPixelFormat@12'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `wglCreateContext@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `wglMakeCurrent@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glViewport@16'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glMatrixMode@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glLoadIdentity@0'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glOrtho@48'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glMatrixMode@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glLoadIdentity@0'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glDrawBuffer@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glReadBuffer@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glDrawBuffer@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glReadBuffer@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glDisable@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glEnable@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glClearColor@16'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glClearColor@16'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glClear@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `SelectObject@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `SelectObject@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `SelectPalette@12'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `DeleteDC@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `DeleteObject@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glColor3f@12'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glColor3f@12'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `CreatePen@12'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `ExtCreatePen@20'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `SetTextColor@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `SelectObject@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `DeleteObject@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glClear@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glBegin@4'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glVertex2i@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glVertex2i@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glVertex2i@8'|
c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to `glVertex2i@8'|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 0 warnings ===|
 
I downloaded  dl_10_mg.zip for windows 64bit and 32 bit, on Windows7, I changed environment variable (in "Variable System") :
- created : DISLIN C:\dislin
- added : C:\dislin\win to the already existing PATH variable
 
On Code:Blocks, Build Options > Linker settings tab I added c:\dislin\dismig.a
and Build Options > Search directories tab, I added the path c:\dislin.
 
Can somebody help-me, please.
 
Thanks
Eduardo
 

Helmut Michels

unread,
Sep 18, 2012, 2:54:54 PM9/18/12
to dislin-users
Hi Eduardo,

On 18 Sep., 17:51, edu <illex.sp...@gmail.com> wrote:
> Hi.
>
> I need plot some graphics in C with dislin. I trying learn how to use
> DISLIN with the example, but I'm having trouble to compile the code. I use
> the IDE Code::Blocks 32 bit and Windows 64 bit.
> Using DISLIN to windows 64 bit, I get the this list of error:
>
> obj\Debug\main.o      In function 'main':
>
> obj\Debug\main.o||In function `main':|
> main.c|18|undefined reference to `disini'|
> ...
>
> The build finished with 25 errors.
>

if you use Code::Blocks 32-bit, you also have to install the 32-bit
distribution
of Dislin for Mingw. It doesn't matter if the Windows system is 32- or
64-bit.

> Using DISLIN to windows 32 bit and the same code, the build finished with
> more 50 errors:
>
> c:\dislin\dismg.a(qqwini.o):qqwini.c|| undefined reference to
> `GetStockObject@4'|
> ...

Dislin needs some system libraries for Windows and Mingw. These are
libgdi32.a, libuser32.a and libopengl32.a, so that you should add the
options -luser32 -lgdi32 -lopengl32 to your linker statement.

> On Code:Blocks, Build Options > Linker settings tab I added
> c:\dislin\dismig.a
> and Build Options > Search directories tab, I added the path c:\dislin.
>
> Can somebody help-me, please.
>
> Thanks
> Eduardo

Best regards,

Helmut

edu

unread,
Sep 18, 2012, 5:35:48 PM9/18/12
to dislin...@googlegroups.com
Dear Prof. Helmut
 
Thanks for your prompt response.
You are true. The problem was in linker. Now, the build is OK.
DISLIN is incredible.
 
Best regards
Eduardo

starte...@gmail.com

unread,
May 24, 2017, 10:28:07 PM5/24/17
to dislin-users
ello,
 I am writing here because I have nearly the same problem but I can´t really figure out a solution by myself.

First of all here is my data:

My System: Windows 7 x64
IDE: Codeblocks 32bit
Compiler: MinGW 32bit


And that is what I did so far:

I downloaded dl_11_mg.zip (32bit) and installed it to c:\dislin.
The DISLIN environment variable is set to c:\dislin and PATH to c:\dislin\win is included.

After that I started codeblocks and created a new project (name is test_dislin, C language, Console project).
Via Copy&Paste I took the code from "exa_c.c" and put into the main.c of the project.
Then I created a main.h HeaderFile with an external exe and added it to the project.

In the "Build Options" I added c:\Dislin\dismg.a as a library in the "Linker settings" tab
and "-lgdi32 -luser32 -lopengl32" in the "Other linker options".
C:\dislin was added as "Search directories" for Compiler, Linker and Resource Compiler.


The following log appears when i try to build this project:


-------------- Clean: Debug in test_dislin (compiler: GNU GCC Compiler)---------------

Cleaned "test_dislin - Debug"

-------------- Build: Debug in test_dislin (compiler: GNU GCC Compiler)---------------

mingw32-gcc.exe -Wall -g -IC:\dislin -c D:\Programming\C\Codeblocks\Projects\test_dislin\main.c -o obj\Debug\main.o
mingw32-g++.exe -LC:\dislin -o bin\Debug\test_dislin.exe obj\Debug\main.o  -luser32 -lgdi32 -lopengl32  C:\dislin\dismg.a
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x159): undefined reference to `CreateSolidBrush@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x150c): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x153b): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x15bc): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x1606): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x164c): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x1664): undefined reference to `GetTextMetricsW@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x1d2c): undefined reference to `GetObjectW@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x1f62): undefined reference to `CreateCompatibleDC@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x1f81): undefined reference to `CreateCompatibleBitmap@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x1fd6): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x202a): undefined reference to `SetPixel@16'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x21f8): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x2206): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x32da): undefined reference to `CreatePen@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x32ef): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x33ed): undefined reference to `MoveToEx@16'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x340b): undefined reference to `LineTo@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x3542): undefined reference to `MoveToEx@16'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x3560): undefined reference to `LineTo@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x35a2): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x35b0): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x4077): undefined reference to `GetObjectW@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x42d9): undefined reference to `CreateCompatibleDC@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x42f8): undefined reference to `CreateCompatibleBitmap@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x434d): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x43a1): undefined reference to `SetPixel@16'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x45b3): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x45c1): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x4aed): undefined reference to `CreateCompatibleDC@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x4b0c): undefined reference to `CreateCompatibleBitmap@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x4b61): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x4bb5): undefined reference to `SetPixel@16'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x4dac): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x4dba): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x4fb3): undefined reference to `CreateCompatibleDC@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x4fd2): undefined reference to `CreateCompatibleBitmap@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x5024): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x507c): undefined reference to `SetPixel@16'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x510b): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x5119): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x6280): undefined reference to `CreatePen@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x629b): undefined reference to `SelectObject@8'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x62c4): undefined reference to `CreateSolidBrush@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x6312): undefined reference to `CreateSolidBrush@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x633b): undefined reference to `DeleteObject@4'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x6375): undefined reference to `MoveToEx@16'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x63a4): undefined reference to `LineTo@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x63cd): undefined reference to `LineTo@12'
C:\dislin\dismg.a(wgini.o):wgini.c:(.text+0x63ec): undefined reference to `LineTo@12'
Process terminated with status 1 (0 minute(s), 1 second(s))
50 error(s), 0 warning(s) (0 minute(s), 1 second(s))
 

user32, gdi32 and opengl32 do exist in the directory of the compiler.
So I really have no clue what to do now or what is wrong here.

Could anybody please help me?

starte...@gmail.com

unread,
May 25, 2017, 2:22:11 PM5/25/17
to dislin-users
Finally i found my misstake:
Instead of using "-lgdi32" in "Other linker options" simply add "gdi32" etc. as library in "Link libraries".
Reply all
Reply to author
Forward
0 new messages