Domino 9 und frühere Versionen > ND9: Entwicklung
C-API - Codeblocks - main entry point
SteffenKaPunkt:
Wenn ich die beiden .-obj-Files in den Linker-Settings eintrage und den Rebuild anstoße erhalte ich diese Meldungen:
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0x2b)||undefined reference to `NotesInitExtended'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0x46)||undefined reference to `NotesSDKMAINInitError'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0xaf)||undefined reference to `NotesSDKMAINCommandLineBegin'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0xca)||undefined reference to `NotesSDKMAINInitError'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0xf9)||undefined reference to `NotesTerm'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0x112)||undefined reference to `NotesTerm'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0x13c)||undefined reference to `NotesSDKMAINInit'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0x17d)||undefined reference to `NotesSDKMAINError'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0x1c7)||undefined reference to `NotesSDKMAINCommandLineEnd'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[notes_main]+0x1cc)||undefined reference to `NotesTerm'|
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[WinMain]+0x25)||undefined reference to `NotesSDKMAINParseArgs'|
D:\_entwicklung\notesapi901\lib\mswin64\notesai0.obj:(.text[NotesMain]+0x10)||undefined reference to `AddInSDKInit'|
D:\_entwicklung\notesapi901\lib\mswin64\notesai0.obj:(.text[NotesMain]+0x24)||undefined reference to `NotesInitModule'|
D:\_entwicklung\notesapi901\lib\mswin64\notesai0.obj:(.text[NotesMain]+0x3b)||undefined reference to `AddInSDKTerm'|
eknori (retired):
Du musst auch die notes.lib linken
eknori (retired):
Auf welchem OS machst Du das Ganze? Weil GCC und win64. Finde den Fehler
SteffenKaPunkt:
Die lib ist mit angegeben. Ich glaube ich habe einen ersten Teilerfolg. Ich hatte die obj-Files nicht bei den Linker-Settings für das Release angegeben, sondern eine Ebene drüber.
Dennoch erhalte ich vom Linker einen Fehler zurück (siehe letzte Zeile).
g++.exe -Os -fexceptions -Os -ID:\_entwicklung\notesapi901\include -ID:\_entwicklung\notesapi901\lib -c C:\_entwicklung\CodeBlocks\TestCodeblocks\main.cpp -o obj\Release\main.o
g++.exe -LD:\_entwicklung\notesapi853\lib\mswin64 -o bin\Release\TestCodeblocks.exe obj\Release\main.o -s -static D:\_entwicklung\notesapi901\lib\mswin64\notes.lib D:\_entwicklung\notesapi901\lib\mswin64\notesai0.obj D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj D:\_entwicklung\notesapi901\lib\mswin64\notes.lib D:\_entwicklung\notesapi901\lib\mswin64\notesai0.obj D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj
D:\_entwicklung\notesapi901\lib\mswin64\notesai0.obj:(.text[NotesMain]+0x0): multiple definition of `NotesMain'
D:\_entwicklung\notesapi901\lib\mswin64\notesai0.obj:(.text[NotesMain]+0x0): first defined here
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[main]+0x0): multiple definition of `main'
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[main]+0x0): first defined here
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[WinMain]+0x0): multiple definition of `WinMain'
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj:(.text[WinMain]+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
Folgende Reihenfolge bei den Linker-Settings habe ich verwendet:
D:\_entwicklung\notesapi901\lib\mswin64\notes.lib
D:\_entwicklung\notesapi901\lib\mswin64\notesai0.obj
D:\_entwicklung\notesapi901\lib\mswin64\notes0.obj
PS: CodeBlocks 20.04 ist standardmäßig auf 64bit gestellt.
eknori (retired):
Ich denke, du solltest noch einmal Deine Entwicklungsumgebung überdenken. Was Du verwendest ist alles andere als Standard und weit entfernt von supported.
Ich kenne niemanden, der mit einem GCC ein lauffähiges binary für Windooze gebaut hat.
Für 9.0.1 + ist VS 2010 angesagt. Unter Linux, GCC. Beim OS muss man dann aber schon wieder differenzieren, für welche Domino Version man das bauen möchte.
Steht aber Alles in der Anleitung zur cAPI SDK.
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln