Hallo Community,
beim Versuch ein beliebiges PB-Programm (z.B. DEBUG "Hello World") unter MacOS zu starten, bekommt man einen Linker-Error:
ld: warning: ignoring duplicate libraries: '-lm', '-lpthread', '/Applications/PureBasic.app/Contents/Resources/compilers/debugger.a', '/Applications/PureBasic.app/Contents/Resources/compilers/objectmanager.a', '/Applications/PureBasic.app/Contents/Resources/compilers/systembase.a', '2DDrawing.a', 'Array.a', 'Cipher.a', 'CipherMD5.a', 'Cocoa.a', 'Date.a', 'Event.a', 'Gadget.a', 'Image.a', 'ImagePlugin.a', 'ImagePluginBMP.a', 'Internal.a', 'LinkedList.a', 'Map.a', 'Memory.a', 'Menu.a', 'Network.a', 'SimpleList.a', 'String.a', 'System.a', 'VectorDrawing.a', 'Window.a'
ld: warning: no platform load command found in '/private/tmp/.pb-1766054020/purebasic.o', assuming: macOS
ld: warning: object file (/Applications/PureBasic.app/Contents/Resources/compilers/debugger.a[2](LanguageSupport.o)) was built for newer 'macOS' version (10.10) than being linked (10.7)
ld: warning: object file (/Applications/PureBasic.app/Contents/Resources/compilers/debugger.a[3](DebuggerLanguage.o)) was built for newer 'macOS' version (10.10) than being linked (10.7)
ld: warning: object file (/Applications/PureBasic.app/Contents/Resources/compilers/debugger.a[4](Debugger.o)) was built for newer 'macOS' version (10.10) than being linked (10.7)
ld: warning: object file (/Applications/PureBasic.app/Contents/Resources/compilers/debugger.a[5](ThreadSupport.o)) was built for newer 'macOS' version (10.10) than being linked (10.7)
ld: warning: object file (/Applications/PureBasic.app/Contents/Resources/compilers/debugger.a[6](UnicodeSupport.o)) was built for newer 'macOS' version (10.10) than being linked (10.7)
...
MacOS-Version: Sequoia 15.7.1
PB-Vesrion: 6.02 LTS
Hat irgendeiner eine Idee, woran das liegen und wie man das Problem lösen könnte?
Viele Grüße von
Argus
Linker-Error beim Versuch ein PB-Programm zu starten
Re: Linker-Error beim Versuch ein PB-Programm zu starten
Die V6.02 ist von 2023. Probier doch mal die V6.21 aus.
a²+b²=mc²
Re: Linker-Error beim Versuch ein PB-Programm zu starten
In PB 6.02 muss die folgende Zeile zu Beginn eines Programms in MacOS Sonoma and Sequoia eingefügt werden. In MacOS Ventura und älteren Versionen ist dies nicht nötig. Seit PB 6.03 hat Fred übrigens meinen Workaround in PureBASIC x64 für MacOS integriert!
Code: Alles auswählen
Import "-fno-pie" : EndImport
Re: Linker-Error beim Versuch ein PB-Programm zu starten
Danke für die Info - es funktioniert!
Re: Linker-Error beim Versuch ein PB-Programm zu starten
Leider besteht das Problem bei folgendem Programm (oder ähnlichen) immer noch:
Es kommt nun folgende Meldung:
PB Linker Error
ld: warning: ignoring duplicate libraries: '-lm', '-lpthread', '/Applications/PureBasic.app/Contents/Resources/compilers/debugger.a', '/Applications/PureBasic.app/Contents/Resources/compilers/objectmanager.a', '/Applications/PureBasic.app/Contents/Resources/compilers/systembase.a', '2DDrawing.a', 'Array.a', 'Cipher.a', 'CipherMD5.a', 'Cocoa.a', 'Date.a', 'Desktop.a', 'Engine3D.a', 'Event.a', 'Gadget.a', 'Image.a', 'ImagePlugin.a', 'ImagePluginBMP.a', 'Internal.a', 'Keyboard.a', 'LinkedList.a', 'Map.a', 'Math.a', 'Memory.a', 'Menu.a', 'Mouse.a', 'MultimediaBase.a', 'Network.a', 'Screen.a', 'SimpleList.a', 'Sprite.a', 'String.a', 'System.a', 'VectorDrawing.a', 'Window.a'
ld: framework 'AGL' not found
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Muss hier ein weiterer Import vollzogen werden? Gibt es irgendeine Doku, der man entnehmen kann, welche Imports man bei welchem Befehlen vorher machen sollte oder ist das in einer neueren Version von PB für den Mac bereits enthalten?
Viele Grüße von
Argus
Code: Alles auswählen
Import "-fno-pie" : EndImport
#Main = 1
ExamineDesktops()
h=DesktopHeight(0)
b=DesktopWidth(0)
If Not InitSprite() Or Not InitKeyboard() : End : EndIf
#flags = #PB_Window_BorderLess
If OpenWindow(#Main, 0, 0, b, h, "Screen im Fenster", #flags)
If OpenWindowedScreen(WindowID(#Main), 0, 0, b, h)
ClearScreen(0)
xo=Random(b-1)
yo=Random(h-1)
col=RGB(255,0,0)
Repeat
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Outlined)
x=Random(b-1)
y=Random(h-1)
Circle(x,y,50,col)
For i=0 To 360 Step 10
w.f=Radian(i)
xn=x+50*Cos(w)
yn=y+50*Sin(w)
LineXY(x,y,xn,yn,col)
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape) : Break 2 : EndIf
Next
StopDrawing()
FlipBuffers()
ForEver
EndIf
EndIf
PB Linker Error
ld: warning: ignoring duplicate libraries: '-lm', '-lpthread', '/Applications/PureBasic.app/Contents/Resources/compilers/debugger.a', '/Applications/PureBasic.app/Contents/Resources/compilers/objectmanager.a', '/Applications/PureBasic.app/Contents/Resources/compilers/systembase.a', '2DDrawing.a', 'Array.a', 'Cipher.a', 'CipherMD5.a', 'Cocoa.a', 'Date.a', 'Desktop.a', 'Engine3D.a', 'Event.a', 'Gadget.a', 'Image.a', 'ImagePlugin.a', 'ImagePluginBMP.a', 'Internal.a', 'Keyboard.a', 'LinkedList.a', 'Map.a', 'Math.a', 'Memory.a', 'Menu.a', 'Mouse.a', 'MultimediaBase.a', 'Network.a', 'Screen.a', 'SimpleList.a', 'Sprite.a', 'String.a', 'System.a', 'VectorDrawing.a', 'Window.a'
ld: framework 'AGL' not found
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Muss hier ein weiterer Import vollzogen werden? Gibt es irgendeine Doku, der man entnehmen kann, welche Imports man bei welchem Befehlen vorher machen sollte oder ist das in einer neueren Version von PB für den Mac bereits enthalten?
Viele Grüße von
Argus
Re: Linker-Error beim Versuch ein PB-Programm zu starten
Das framework AGL wurde von macOS entfernt.
Somit ist bei Sequoia 15.7.1 und Command Line Tools größer v16.0 die PureBasic Version v6.30 Beta 6 erforderlich.
Hier wurde das framework AGL aus PB entfernt
Es gibt aber noch ein Problem bei OpenGLGadget mit AGL. Ist aber noch in Arbeit.
Code Anpassung fehlende Abfragen (v6.30 Beat 6)
Somit ist bei Sequoia 15.7.1 und Command Line Tools größer v16.0 die PureBasic Version v6.30 Beta 6 erforderlich.
Hier wurde das framework AGL aus PB entfernt
Es gibt aber noch ein Problem bei OpenGLGadget mit AGL. Ist aber noch in Arbeit.
Code Anpassung fehlende Abfragen (v6.30 Beat 6)
Code: Alles auswählen
Import "-fno-pie" : EndImport
#Main = 1
ExamineDesktops()
h=DesktopHeight(0) - 200
b=DesktopWidth(0) - 200
If Not InitSprite() Or Not InitKeyboard() : End : EndIf
#flags = #PB_Window_SystemMenu
If OpenWindow(#Main, 0, 0, b, h, "Screen im Fenster", #flags)
If OpenWindowedScreen(WindowID(#Main), 0, 0, b, h)
Repeat
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
Until Event = 0
ExamineKeyboard()
;ClearScreen(0)
xo=Random(b-1)
yo=Random(h-1)
col=RGB(255,0,0)
x=Random(b-1)
y=Random(h-1)
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Outlined)
Circle(x,y,50,col)
For i=0 To 360 Step 10
w.f=Radian(i)
xn=x+50*Cos(w)
yn=y+50*Sin(w)
LineXY(x,y,xn,yn,col)
Next
StopDrawing()
FlipBuffers()
If KeyboardPushed(#PB_Key_Escape)
Quit = 1
EndIf
Until Quit
EndIf
EndIf
Zuletzt geändert von mk-soft am 28.12.2025 12:52, insgesamt 1-mal geändert.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Linker-Error beim Versuch ein PB-Programm zu starten
Fazit: Entweder MacOS Ventura oder älter mit PB 6.02 benutzen oder - wie mk-soft schon erklärt hat - MacOS Sequoia mit der aktuellsten Version PB 6.30 Beta 6 verwenden.