gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: linking a C++ lib to an objc tool.


From: Jamie Ramone
Subject: Re: linking a C++ lib to an objc tool.
Date: Sun, 27 Aug 2017 01:37:13 -0300

Well that was a colossal waste of time. Interestingly, I found I cud get rid of the other dependencies, SDL1 and Freetype, as they are no longer needed by the main binary. So the ONLY requirement is poppler-cpp, so shuffling it is pointless.

Here's the contents of the make files (if it helps):

Main GNUMakefile

include $(GNUSTEP_MAKEFILES)/common.make

TOOL_NAME = WindowServer
TOOL_INSTALL_DIR = /usr/lib/GnuStep

WindowServer_OBJC_FILES =    hash.m            \
                tree.m            \
                stack.m            \
                WSFeedback.m        \
                WSComponent.m        \
                WSModule.m        \
                WSModuleManager.m    \
                WSDisplayModule.m    \
                WSKeyboardModule.m    \
                WSPointerModule.m    \
                WSMiscModule.m        \
                WSEvent.m        \
                WSWindowManager.m    \
                WSConfigurationReader.m    \
                WSServerCore.m        \
                WSWindow.m        \
                main.m

WindowServer_OBJC_HEADERS =     WSFeedback.h        \
                WSComponent.h        \
                WSEvent.h        \
                WSModule.h        \
                WSModuleManager.h    \
                WSDisplayModule.h    \
                WSKeyboardModule.h    \
                WSPointerModule.h    \
                WSMiscModule.h        \
                WSWindow.h        \
                WSWindowMAnager.h    \
                WSConfigurationReader.h    \
                WSServerCore.h        \
                Algorithm/hash.h    \
                Algorithm/stack.h    \
                Algorithm/tree.h

WindowServer_CC_FILES =        rendering.cc

WindowServer_CC_HEADERS =    rendering.h

SUBPROJECTS =            Modules/Display        \
                Modules/Input        \
                Modules/Misc

CC=${CXX}

-include GNUmakefile.preamble
include $(GNUSTEP_MAKEFILES)/aggregate.make
include $(GNUSTEP_MAKEFILES)/tool.make
-include GNUmakefile.postamble

GNUmakefile.preamble

OPTFLAG=-Os -fomit-frame-pointer -Wall -Werror

ADDITIONAL_CXXFLAGS += -fno-operator-names

ADDITIONAL_CFLAGS += -pipe -s

ADDITIONAL_INCLUDE_DIRS += -I../Headers
ADDITIONAL_INCLUDE_DIRS += -I${HOME}/Developer/System/include

ADDITIONAL_LIB_DIRS = -L${HOME}/Developer/System/lib

ADDITIONAL_LDFLAGS += -lpoppler-cpp
# -lfreetype -lSDL

GNUmakefile.postamble

after-install::
    @cp -v ../Resources/* $(TOOL_INSTALL_DIR)

after-uninstall::
    @rm -rfv $(TOOL_INSTALL_DIR)

after-all::
    #strip obj/$(TOOL_NAME) || strip obj/$(TOOL_NAME)
    chmod 0555 obj/$(TOOL_NAME) || chmod 0555 obj/$(TOOL_NAME)

(I put the 'after-all::' rule a long time ago, not sure why I had to leave it like that, pay it no mind).
On Sat, Aug 26, 2017 at 10:52 PM, Jamie Ramone <address@hidden> wrote:
On Sat, Aug 26, 2017 at 9:59 PM, Ivan Vučica <address@hidden> wrote:
> Order in which you specify things to be linked (object files and libraries)
> may matter. Have you tried moving -lpoppler-cpp around?

Hmm, I must admit I hadn't even thought about that. I'll give it a go
and see what happens.

> Has the code you're building ever been successfully linked?

 It worked before adding the PDF rendering requirement (I was
concentrating on other parts of the system).

> Is this code published?

Not as of yet, hold your horses! :P

> On Sat, Aug 26, 2017 at 11:25 PM Jamie Ramone <address@hidden> wrote:
>>
>> 1) Are you referring to the external library I'm trying to link
>> against? It's poppler-cpp
>>
>> Output:
>>
>>                  U abort@@GLIBC_2.2.5
>> 00000000002125b8 B __bss_start
>> 00000000002125b8 b completed.7585
>> 000000000000ebe0 r CSWTCH.189
>> 000000000000ebc0 r CSWTCH.191
>>                  U __cxa_atexit@@GLIBC_2.2.5
>>                  w __cxa_finalize@@GLIBC_2.2.5
>> 0000000000008670 t deregister_tm_clones
>> 0000000000008700 t __do_global_dtors_aux
>> 0000000000211d68 t __do_global_dtors_aux_fini_array_entry
>> 00000000002125a8 d __dso_handle
>> 0000000000211d78 d _DYNAMIC
>> 00000000002125b8 D _edata
>> 00000000002125d8 B _end
>>                  U __errno_location@@GLIBC_2.2.5
>>                  U fclose@@GLIBC_2.2.5
>> 000000000000eab4 T _fini
>>                  U fopen@@GLIBC_2.2.5
>> 0000000000008740 t frame_dummy
>> 0000000000211d48 t __frame_dummy_init_array_entry
>> 00000000000114c8 r __FRAME_END__
>>                  U free@@GLIBC_2.2.5
>> 0000000000212000 d _GLOBAL_OFFSET_TABLE_
>>                  U globalParams
>> 00000000000085e0 t _GLOBAL__sub_I_poppler_global.cpp
>> 0000000000008610 t _GLOBAL__sub_I_poppler_private.cpp
>> 0000000000008640 t _GLOBAL__sub_I_poppler_rectangle.cpp
>>                  w __gmon_start__
>> 000000000000ec9c r __GNU_EH_FRAME_HDR
>>                  U iconv_close@@GLIBC_2.2.5
>>                  U iconv@@GLIBC_2.2.5
>>                  U iconv_open@@GLIBC_2.2.5
>> 0000000000007a80 T _init
>>                  w _ITM_deregisterTMCloneTable
>>                  w _ITM_registerTMCloneTable
>> 0000000000211d70 d __JCR_END__
>> 0000000000211d70 d __JCR_LIST__
>>                  w _Jv_RegisterClasses
>>                  U malloc@@GLIBC_2.2.5
>>                  U memcpy@@GLIBC_2.14
>>                  U memmove@@GLIBC_2.2.5
>>                  U memset@@GLIBC_2.2.5
>> 00000000000086b0 t register_tm_clones
>>                  U __stack_chk_fail@@GLIBC_2.4
>>                  U strlen@@GLIBC_2.2.5
>> 00000000002125b8 d __TMC_END__
>>                  U tolower@@GLIBC_2.2.5
>>                  U _Z16dateStringToTimeP9GooString
>>                  U _Z16setErrorCallbackPFvPv13ErrorCategoryxPcES_
>>                  U _Z16timeToDateStringPl
>>                  U _Z5error13ErrorCategoryxPKcz
>>                  U _ZdlPv@@GLIBCXX_3.4
>> 000000000000da50 t
>>
>> _ZL21stderr_debug_functionRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPv
>>                  U _ZN10JpegWriterC1ENS_6FormatE
>>                  U _ZN10TiffWriterC1ENS_6FormatE
>>                  U _ZN11OutlineItem4openEv
>>                  U _ZN12GlobalParamsC1EPKc
>>                  U _ZN12GlobalParamsD1Ev
>>                  U _ZN12NetPBMWriterC1ENS_6FormatE
>>                  U _ZN13TextOutputDev7getTextEdddd
>>                  U _ZN13TextOutputDev8takeTextEv
>>                  U _ZN13TextOutputDevC1EPcbdbb
>>                  U _ZN13TextOutputDevD1Ev
>>                  U _ZN14PageTransitionC1EP6Object
>>                  U _ZN14PageTransitionD1Ev
>>                  U _ZN15FontInfoScanner4scanEi
>>                  U _ZN15FontInfoScannerC1EP6PDFDoci
>>                  U _ZN15FontInfoScannerD1Ev
>>                  U _ZN15SplashOutputDev18setFreeTypeHintingEbb
>>                  U _ZN15SplashOutputDev18setVectorAntialiasEb
>>                  U _ZN15SplashOutputDev8startDocEP6PDFDoc
>>                  U
>> _ZN15SplashOutputDevC1E15SplashColorModeibPhb18SplashThinLineModeb
>>                  U _ZN15SplashOutputDevD1Ev
>>                  U _ZN4Dict6getKeyEi
>>                  U _ZN4XRef10getDocInfoEP6Object
>>                  U _ZN4XRef10okToChangeEb
>>                  U _ZN4XRef12okToAddNotesEb
>>                  U _ZN4XRef12okToAssembleEb
>>                  U _ZN4XRef12okToFillFormEb
>>                  U _ZN4XRef13removeDocInfoEv
>>                  U _ZN4XRef16okToPrintHighResEb
>>                  U _ZN4XRef17okToAccessibilityEb
>>                  U _ZN4XRef8okToCopyEb
>>                  U _ZN4XRef9okToPrintEb
>>                  U _ZN6Object4freeEv
>>                  U _ZN6Object5fetchEP4XRefPS_i
>>                  U _ZN6PDFDoc10getOutlineEv
>>                  U
>> _ZN6PDFDoc11displayPageEP9OutputDeviddibbbPFbPvES2_PFbP5AnnotS2_ES2_b
>>                  U _ZN6PDFDoc11getNumPagesEv
>>                  U _ZN6PDFDoc12isLinearizedEb
>>                  U
>>
>> _ZN6PDFDoc16displayPageSliceEP9OutputDeviddibbbiiiiPFbPvES2_PFbP5AnnotS2_ES2_b
>>                  U _ZN6PDFDoc20saveWithoutChangesAsEP9GooString
>>                  U _ZN6PDFDoc21getDocInfoStringEntryEPKc
>>                  U _ZN6PDFDoc21setDocInfoStringEntryEPKcP9GooString
>>                  U _ZN6PDFDoc5getIDEP9GooStringS1_
>>                  U _ZN6PDFDoc6saveAsEP9GooString12PDFWriteMode
>>                  U _ZN6PDFDocC1EP10BaseStreamP9GooStringS3_Pv
>>                  U _ZN6PDFDocC1EP9GooStringS1_S1_Pv
>>                  U _ZN6PDFDocD1Ev
>>                  U _ZN7Catalog11getPageModeEv
>>                  U _ZN7Catalog12embeddedFileEi
>>                  U _ZN7Catalog12indexToLabelEiP9GooString
>>                  U _ZN7Catalog12labelToIndexEP9GooStringPi
>>                  U _ZN7Catalog12readMetadataEv
>>                  U _ZN7Catalog13getPageLayoutEv
>>                  U _ZN7Catalog23getEmbeddedFileNameTreeEv
>>                  U _ZN7Catalog7getPageEi
>>                  U _ZN7GooListD1Ev
>> 000000000000e750 T _ZN7poppler11toc_private17load_from_outlineEP7Outline
>> 000000000000e520 T _ZN7poppler11toc_privateC1Ev
>> 000000000000e520 T _ZN7poppler11toc_privateC2Ev
>> 000000000000e7f0 T _ZN7poppler11toc_privateD1Ev
>> 000000000000e7f0 T _ZN7poppler11toc_privateD2Ev
>> 000000000000b6d0 T
>>
>> _ZN7poppler12convert_dateERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
>> 000000000000ce60 T _ZN7poppler12page_privateC1EPNS_16document_privateEi
>> 000000000000ce60 T _ZN7poppler12page_privateC2EPNS_16document_privateEi
>> 000000000000cea0 T _ZN7poppler12page_privateD1Ev
>> 000000000000cea0 T _ZN7poppler12page_privateD2Ev
>> 000000000000a680 T
>> _ZN7poppler13embedded_fileC1ERNS_21embedded_file_privateE
>> 000000000000a680 T
>> _ZN7poppler13embedded_fileC2ERNS_21embedded_file_privateE
>> 000000000000a6f0 T _ZN7poppler13embedded_fileD1Ev
>> 000000000000a6f0 T _ZN7poppler13embedded_fileD2Ev
>> 000000000000b190 T _ZN7poppler13font_iterator4nextEv
>> 000000000000b0f0 T _ZN7poppler13font_iteratorC1EiPNS_16document_privateE
>> 000000000000b0f0 T _ZN7poppler13font_iteratorC2EiPNS_16document_privateE
>> 000000000000b150 T _ZN7poppler13font_iteratorD1Ev
>> 000000000000b150 T _ZN7poppler13font_iteratorD2Ev
>> 000000000000c220 T
>> _ZN7poppler13image_private11create_dataEiiNS_5image11format_enumE
>> 000000000000c2f0 T
>> _ZN7poppler13image_private11create_dataEPciiNS_5image11format_enumE
>> 000000000000c1c0 T _ZN7poppler13image_privateC1EiiNS_5image11format_enumE
>> 000000000000c1c0 T _ZN7poppler13image_privateC2EiiNS_5image11format_enumE
>> 000000000000c200 T _ZN7poppler13image_privateD1Ev
>> 000000000000c200 T _ZN7poppler13image_privateD2Ev
>> 000000000000d6a0 T _ZN7poppler13page_renderer10can_renderEv
>> 000000000000d650 T _ZN7poppler13page_renderer15set_paper_colorEj
>> 000000000000d670 T
>> _ZN7poppler13page_renderer15set_render_hintENS0_11render_hintEb
>> 000000000000d690 T _ZN7poppler13page_renderer16set_render_hintsEj
>> 000000000000d5f0 T _ZN7poppler13page_rendererC1Ev
>> 000000000000d5f0 T _ZN7poppler13page_rendererC2Ev
>> 000000000000d620 T _ZN7poppler13page_rendererD1Ev
>> 000000000000d620 T _ZN7poppler13page_rendererD2Ev
>> 000000000000ea90 T _ZN7poppler13version_majorEv
>> 000000000000eab0 T _ZN7poppler13version_microEv
>> 000000000000eaa0 T _ZN7poppler13version_minorEv
>> 000000000000ea60 T _ZN7poppler14version_stringB5cxx11Ev
>> 000000000000d9d0 T _ZN7poppler15page_transitionaSERKS0_
>> 000000000000d8a0 T _ZN7poppler15page_transitionC1EP6Object
>> 000000000000d8d0 T _ZN7poppler15page_transitionC1ERKS0_
>> 000000000000d8a0 T _ZN7poppler15page_transitionC2EP6Object
>> 000000000000d8d0 T _ZN7poppler15page_transitionC2ERKS0_
>> 000000000000d930 T _ZN7poppler15page_transitionD1Ev
>> 000000000000d930 T _ZN7poppler15page_transitionD2Ev
>> 0000000000008c30 T
>> _ZN7poppler16document_private14check_documentEPS0_PSt6vectorIcSaIcEE
>> 0000000000008810 T
>>
>> _ZN7poppler16document_privateC1EP9GooStringRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_
>> 0000000000008a60 T
>>
>> _ZN7poppler16document_privateC1EPKciRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_
>> 0000000000008900 T
>>
>> _ZN7poppler16document_privateC1EPSt6vectorIcSaIcEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcES2_EESB_
>> 0000000000008810 T
>>
>> _ZN7poppler16document_privateC2EP9GooStringRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_
>> 0000000000008a60 T
>>
>> _ZN7poppler16document_privateC2EPKciRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_
>> 0000000000008900 T
>>
>> _ZN7poppler16document_privateC2EPSt6vectorIcSaIcEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcES2_EESB_
>> 0000000000008b80 T _ZN7poppler16document_privateD1Ev
>> 0000000000008b80 T _ZN7poppler16document_privateD2Ev
>> 000000000000e560 T _ZN7poppler16toc_item_private13load_childrenEP7GooList
>> 000000000000e3a0 T _ZN7poppler16toc_item_private4loadEP11OutlineItem
>> 000000000000e370 T _ZN7poppler16toc_item_privateC1Ev
>> 000000000000e370 T _ZN7poppler16toc_item_privateC2Ev
>> 000000000000e830 T _ZN7poppler16toc_item_privateD1Ev
>> 000000000000e830 T _ZN7poppler16toc_item_privateD2Ev
>> 000000000000a6a0 T _ZN7poppler21embedded_file_private6createEP8FileSpec
>> 000000000000a640 T _ZN7poppler21embedded_file_privateC1EP8FileSpec
>> 000000000000a640 T _ZN7poppler21embedded_file_privateC2EP8FileSpec
>> 000000000000a650 T _ZN7poppler21embedded_file_privateD1Ev
>> 000000000000a650 T _ZN7poppler21embedded_file_privateD2Ev
>> 000000000000b840 T
>>
>> _ZN7poppler24set_debug_error_functionEPFvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPvES8_
>> 000000000000e530 T _ZN7poppler3tocC1Ev
>> 000000000000e530 T _ZN7poppler3tocC2Ev
>> 000000000000e800 T _ZN7poppler3tocD1Ev
>> 000000000000e800 T _ZN7poppler3tocD2Ev
>> 000000000000ced0 T _ZN7poppler4pageC1EPNS_16document_privateEi
>> 000000000000ced0 T _ZN7poppler4pageC2EPNS_16document_privateEi
>> 000000000000cf20 T _ZN7poppler4pageD1Ev
>> 000000000000cf20 T _ZN7poppler4pageD2Ev
>> 000000000000ca80 T _ZN7poppler5image23supported_image_formatsB5cxx11Ev
>> 000000000000c9d0 T _ZN7poppler5image4dataEv
>> 000000000000c970 T _ZN7poppler5image6detachEv
>> 000000000000c920 T _ZN7poppler5imageaSERKS0_
>> 000000000000c3d0 T _ZN7poppler5imageC1EiiNS0_11format_enumE
>> 000000000000c3f0 T _ZN7poppler5imageC1EPciiNS0_11format_enumE
>> 000000000000c410 T _ZN7poppler5imageC1ERKS0_
>> 000000000000c3c0 T _ZN7poppler5imageC1Ev
>> 000000000000c3d0 T _ZN7poppler5imageC2EiiNS0_11format_enumE
>> 000000000000c3f0 T _ZN7poppler5imageC2EPciiNS0_11format_enumE
>> 000000000000c410 T _ZN7poppler5imageC2ERKS0_
>> 000000000000c3c0 T _ZN7poppler5imageC2Ev
>> 000000000000c420 T _ZN7poppler5imageD1Ev
>> 000000000000c420 T _ZN7poppler5imageD2Ev
>> 000000000000b4d0 T _ZN7poppler6detail11noncopyableC1Ev
>> 000000000000b4d0 T _ZN7poppler6detail11noncopyableC2Ev
>> 000000000000b4e0 T _ZN7poppler6detail11noncopyableD1Ev
>> 000000000000b4e0 T _ZN7poppler6detail11noncopyableD2Ev
>> 00000000002125c8 B _ZN7poppler6detail13debug_closureE
>> 000000000000db60 T _ZN7poppler6detail14error_functionEPv13ErrorCategoryxPc
>> 000000000000e040 T _ZN7poppler6detail18unicode_to_ustringEPKji
>> 00000000002125b0 D _ZN7poppler6detail19user_debug_functionB5cxx11E
>> 000000000000df40 T
>> _ZN7poppler6detail21pdfrectangle_to_rectfERK12PDFRectangle
>> 000000000000df80 T
>> _ZN7poppler6detail28unicode_GooString_to_ustringEP9GooString
>> 000000000000e080 T
>> _ZN7poppler6detail28ustring_to_unicode_GooStringERKNS_7ustringE
>> 00000000002125bc B _ZN7poppler6initer5countE
>> 0000000000008770 T _ZN7poppler6initerC1Ev
>> 0000000000008770 T _ZN7poppler6initerC2Ev
>> 00000000000087c0 T _ZN7poppler6initerD1Ev
>> 00000000000087c0 T _ZN7poppler6initerD2Ev
>> 000000000000bac0 T
>>
>> _ZN7poppler7ustring11from_latin1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
>> 000000000000bb70 T _ZN7poppler7ustring9from_utf8EPKci
>> 000000000000b510 T _ZN7poppler7ustringC1Emt
>> 000000000000b4f0 T _ZN7poppler7ustringC1Ev
>> 000000000000b510 T _ZN7poppler7ustringC2Emt
>> 000000000000b4f0 T _ZN7poppler7ustringC2Ev
>> 000000000000b5c0 T _ZN7poppler7ustringD1Ev
>> 000000000000b5c0 T _ZN7poppler7ustringD2Ev
>> 00000000000094c0 T _ZN7poppler8document10set_authorERKNS_7ustringE
>> 00000000000099f0 T _ZN7poppler8document11remove_infoEv
>> 0000000000009730 T _ZN7poppler8document11set_creatorERKNS_7ustringE
>> 0000000000009590 T _ZN7poppler8document11set_subjectERKNS_7ustringE
>> 0000000000009230 T
>>
>> _ZN7poppler8document12set_info_keyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7ustringE
>> 0000000000009660 T _ZN7poppler8document12set_keywordsERKNS_7ustringE
>> 0000000000009800 T _ZN7poppler8document12set_producerERKNS_7ustringE
>> 00000000000092f0 T
>>
>> _ZN7poppler8document13set_info_dateERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj
>> 000000000000a260 T
>>
>> _ZN7poppler8document14load_from_dataEPSt6vectorIcSaIcEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcES2_EESB_
>> 000000000000a200 T
>>
>> _ZN7poppler8document14load_from_fileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_
>> 00000000000098b0 T _ZN7poppler8document17set_creation_dateEj
>> 000000000000a2c0 T
>>
>> _ZN7poppler8document18load_from_raw_dataEPKciRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_
>> 0000000000009980 T _ZN7poppler8document21set_modification_dateEj
>> 0000000000008d10 T
>>
>> _ZN7poppler8document6unlockERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_
>> 00000000000093f0 T _ZN7poppler8document9set_titleERKNS_7ustringE
>> 0000000000008c10 T _ZN7poppler8documentC1ERNS_16document_privateE
>> 0000000000008c10 T _ZN7poppler8documentC2ERNS_16document_privateE
>> 0000000000008cd0 T _ZN7poppler8documentD1Ev
>> 0000000000008cd0 T _ZN7poppler8documentD2Ev
>> 000000000000e4f0 T _ZN7poppler8toc_itemC1Ev
>> 000000000000e4f0 T _ZN7poppler8toc_itemC2Ev
>> 000000000000e7c0 T _ZN7poppler8toc_itemD1Ev
>> 000000000000e7c0 T _ZN7poppler8toc_itemD2Ev
>> 000000000000b080 T _ZN7poppler9font_infoaSERKS0_
>> 000000000000af20 T _ZN7poppler9font_infoC1ERKS0_
>> 000000000000af10 T _ZN7poppler9font_infoC1ERNS_17font_info_privateE
>> 000000000000aed0 T _ZN7poppler9font_infoC1Ev
>> 000000000000af20 T _ZN7poppler9font_infoC2ERKS0_
>> 000000000000af10 T _ZN7poppler9font_infoC2ERNS_17font_info_privateE
>> 000000000000aed0 T _ZN7poppler9font_infoC2Ev
>> 000000000000afb0 T _ZN7poppler9font_infoD1Ev
>> 000000000000afb0 T _ZN7poppler9font_infoD2Ev
>> 000000000000e1f0 T _ZN7popplerlsERSoRKNS_9rectangleIdEE
>> 000000000000e130 T _ZN7popplerlsERSoRKNS_9rectangleIiEE
>> 000000000000b730 T _ZN7popplerlsERSoRKSt6vectorIcSaIcEE
>>                  U _ZN8FileSpec15getEmbeddedFileEv
>>                  U _ZN8FileSpecD1Ev
>>                  U _ZN8FontInfoD1Ev
>>                  U _ZN8TextPage8findTextEPjibbbbbbbPdS1_S1_S1_
>>                  U _ZN8TextPage9decRefCntEv
>>                  U _ZN9GooStringC1EPKc
>>                  U _ZN9GooStringC1EPKci
>>                  U _ZN9GooStringC1EPKS_
>>                  U _ZN9GooStringC1Ev
>>                  U _ZN9GooStringD1Ev
>>                  U _ZN9MemStreamC1EPcxxP6Object
>>                  U _ZN9PNGWriterC1ENS_6FormatE
>> 000000000000a840 T _ZNK7poppler13embedded_file11descriptionEv
>> 000000000000a8f0 T _ZNK7poppler13embedded_file13creation_dateEv
>> 000000000000a8c0 T _ZNK7poppler13embedded_file17modification_dateEv
>> 000000000000aaf0 T _ZNK7poppler13embedded_file4dataEv
>> 000000000000a730 T _ZNK7poppler13embedded_file4nameB5cxx11Ev
>> 000000000000a8a0 T _ZNK7poppler13embedded_file4sizeEv
>> 000000000000a920 T _ZNK7poppler13embedded_file8checksumEv
>> 000000000000a720 T _ZNK7poppler13embedded_file8is_validEv
>> 000000000000a9e0 T _ZNK7poppler13embedded_file9mime_typeB5cxx11Ev
>> 000000000000b440 T _ZNK7poppler13font_iterator12current_pageEv
>> 000000000000b180 T _ZNK7poppler13font_iterator8has_nextEv
>> 000000000000d640 T _ZNK7poppler13page_renderer11paper_colorEv
>> 000000000000d6b0 T
>>
>> _ZNK7poppler13page_renderer11render_pageEPKNS_4pageEddiiiiNS_13rotation_enumE
>> 000000000000d660 T _ZNK7poppler13page_renderer12render_hintsEv
>> 000000000000d9c0 T _ZNK7poppler15page_transition14is_rectangularEv
>> 000000000000d960 T _ZNK7poppler15page_transition4typeEv
>> 000000000000d9a0 T _ZNK7poppler15page_transition5angleEv
>> 000000000000d9b0 T _ZNK7poppler15page_transition5scaleEv
>> 000000000000d970 T _ZNK7poppler15page_transition8durationEv
>> 000000000000d980 T _ZNK7poppler15page_transition9alignmentEv
>> 000000000000d990 T _ZNK7poppler15page_transition9directionEv
>> 000000000000e4e0 T _ZNK7poppler3toc4rootEv
>> 000000000000d120 T _ZNK7poppler4page10transitionEv
>> 000000000000cf50 T _ZNK7poppler4page11orientationEv
>> 000000000000d5b0 T _ZNK7poppler4page4textERKNS_9rectangleIdEE
>> 000000000000d470 T
>> _ZNK7poppler4page4textERKNS_9rectangleIdEENS0_16text_layout_enumE
>> 000000000000d090 T _ZNK7poppler4page5labelEv
>> 000000000000d1d0 T
>>
>> _ZNK7poppler4page6searchERKNS_7ustringERNS_9rectangleIdEENS0_21search_direction_enumENS_21case_sensitivity_enumENS_13rotation_enumE
>> 000000000000cf90 T _ZNK7poppler4page8durationEv
>> 000000000000cfa0 T _ZNK7poppler4page9page_rectENS_13page_box_enumE
>> 000000000000c4f0 T _ZNK7poppler5image10const_dataEv
>> 000000000000c4d0 T _ZNK7poppler5image13bytes_per_rowEv
>> 000000000000ca00 T _ZNK7poppler5image4copyERKNS_9rectangleIiEE
>> 000000000000c510 T
>>
>> _ZNK7poppler5image4saveERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_i
>> 000000000000c490 T _ZNK7poppler5image5widthEv
>> 000000000000c470 T _ZNK7poppler5image6formatEv
>> 000000000000c4b0 T _ZNK7poppler5image6heightEv
>> 000000000000c450 T _ZNK7poppler5image8is_validEv
>> 000000000000b860 T _ZNK7poppler7ustring7to_utf8Ev
>> 000000000000b5e0 T _ZNK7poppler7ustring9to_latin1B5cxx11Ev
>> 000000000000a0e0 T _ZNK7poppler8document10create_tocEv
>> 0000000000009440 T _ZNK7poppler8document10get_authorEv
>> 0000000000009bb0 T
>>
>> _ZNK7poppler8document10get_pdf_idEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_
>> 0000000000009ce0 T _ZNK7poppler8document11create_pageEi
>> 0000000000009d80 T _ZNK7poppler8document11create_pageERKNS_7ustringE
>> 00000000000096b0 T _ZNK7poppler8document11get_creatorEv
>> 0000000000009510 T _ZNK7poppler8document11get_subjectEv
>> 0000000000008ea0 T _ZNK7poppler8document11page_layoutEv
>> 000000000000a190 T
>>
>> _ZNK7poppler8document11save_a_copyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
>> 00000000000095e0 T _ZNK7poppler8document12get_keywordsEv
>> 0000000000009780 T _ZNK7poppler8document12get_producerEv
>> 0000000000009a20 T _ZNK7poppler8document12is_encryptedEv
>> 0000000000009a30 T _ZNK7poppler8document13is_linearizedEv
>> 000000000000a320 T _ZNK7poppler8document14embedded_filesEv
>> 0000000000009a40 T
>> _ZNK7poppler8document14has_permissionENS_15permission_enumE
>> 0000000000008ed0 T _ZNK7poppler8document15get_pdf_versionEPiS1_
>> 0000000000009850 T _ZNK7poppler8document17get_creation_dateEv
>> 000000000000a100 T _ZNK7poppler8document18has_embedded_filesEv
>> 000000000000a0b0 T _ZNK7poppler8document20create_font_iteratorEi
>> 0000000000009920 T _ZNK7poppler8document21get_modification_dateEv
>> 000000000000a120 T
>>
>> _ZNK7poppler8document4saveERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
>> 0000000000009e20 T _ZNK7poppler8document5fontsEv
>> 0000000000009cd0 T _ZNK7poppler8document5pagesEv
>> 00000000000091b0 T
>>
>> _ZNK7poppler8document8info_keyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
>> 0000000000009b30 T _ZNK7poppler8document8metadataEv
>> 0000000000009370 T _ZNK7poppler8document9get_titleEv
>> 0000000000009290 T
>>
>> _ZNK7poppler8document9info_dateERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
>> 0000000000008f00 T _ZNK7poppler8document9info_keysB5cxx11Ev
>> 0000000000008d00 T _ZNK7poppler8document9is_lockedEv
>> 0000000000008e70 T _ZNK7poppler8document9page_modeEv
>> 000000000000ea50 T _ZNK7poppler8toc_item12children_endEv
>> 000000000000ea40 T _ZNK7poppler8toc_item14children_beginEv
>> 000000000000e8b0 T _ZNK7poppler8toc_item5titleEv
>> 000000000000e990 T _ZNK7poppler8toc_item7is_openEv
>> 000000000000e9a0 T _ZNK7poppler8toc_item8childrenEv
>> 000000000000b050 T _ZNK7poppler9font_info11is_embeddedEv
>> 000000000000b020 T _ZNK7poppler9font_info4fileB5cxx11Ev
>> 000000000000aff0 T _ZNK7poppler9font_info4nameB5cxx11Ev
>> 000000000000b070 T _ZNK7poppler9font_info4typeEv
>> 000000000000b060 T _ZNK7poppler9font_info9is_subsetEv
>>                  U
>>
>> _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21
>>                  U _ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
>>                  U _ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
>>                  U _ZNSolsEi@@GLIBCXX_3.4
>>                  U _ZNSt6localeC1Ev@@GLIBCXX_3.4
>>                  U _ZNSt6localeD1Ev@@GLIBCXX_3.4
>> 000000000000acc0 W _ZNSt6vectorIcSaIcEE17_M_default_appendEm
>> 000000000000cde0 W
>>
>> _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIIS5_EEEvDpOT_
>> 000000000000cde0 W
>>
>> _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEEvDpOT_
>> 000000000000cbf0 W
>>
>> _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIIS5_EEEvDpOT_
>> 000000000000cbf0 W
>>
>> _ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT_
>> 000000000000a4e0 W
>> _ZNSt6vectorIPN7poppler13embedded_fileESaIS2_EE17_M_default_appendEm
>>                  U
>>
>> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm@@GLIBCXX_3.4.21
>>                  U
>>
>> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@@GLIBCXX_3.4.21
>> 000000000000ae00 t
>>
>> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag.isra.30
>> 000000000000c0f0 t
>>
>> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag.isra.32
>> 000000000000da90 t
>>
>> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag.isra.34
>> 000000000000c0f0 t
>>
>> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag.isra.36
>>                  U
>>
>> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@@GLIBCXX_3.4.21
>>                  U
>>
>> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@@GLIBCXX_3.4.21
>>                  U
>>
>> _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm@@GLIBCXX_3.4.21
>> 000000000000bd40 W
>>
>> _ZNSt7__cxx1112basic_stringItSt11char_traitsItESaItEE12_M_constructIPtEEvT_S7_St20forward_iterator_tag
>> 000000000000bfd0 W
>> _ZNSt7__cxx1112basic_stringItSt11char_traitsItESaItEE6resizeEmt
>> 000000000000e2f0 t
>>
>> _ZNSt7__cxx1112basic_stringItSt11char_traitsItESaItEE9_M_createERmm.isra.42
>> 000000000000b450 t
>>
>> _ZNSt7__cxx1112basic_stringItSt11char_traitsItESaItEE9_M_createERmm.isra.47
>> 000000000000be20 W
>> _ZNSt7__cxx1112basic_stringItSt11char_traitsItESaItEE9_M_mutateEmmPKtm
>>                  U _ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
>>                  U _ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
>>                  U _ZNSt8ios_baseC2Ev@@GLIBCXX_3.4
>>                  U _ZNSt8ios_baseD2Ev@@GLIBCXX_3.4
>>                  U
>>
>> _ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@@GLIBCXX_3.4
>>                  U
>> _ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@@GLIBCXX_3.4
>>                  U _Znwm@@GLIBCXX_3.4
>>                  U
>>
>> _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9
>>                  U _ZSt17__throw_bad_allocv@@GLIBCXX_3.4
>>                  U _ZSt19__throw_logic_errorPKc@@GLIBCXX_3.4
>>                  U _ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
>>                  U _ZSt4cerr@@GLIBCXX_3.4
>> 00000000002125c0 b _ZStL8__ioinit
>> 00000000002125d0 b _ZStL8__ioinit
>> 00000000002125d1 b _ZStL8__ioinit
>>                  U
>>
>> _ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
>>                  U
>>
>> _ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
>>                  U
>>
>> _ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
>>                  U
>> _ZTVSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
>>                  U _ZTVSt9basic_iosIcSt11char_traitsIcEE@@GLIBCXX_3.4
>>
>> 2)
>>
>> #include <poppler/cpp/poppler-document.h>
>> #include <poppler/cpp/poppler-page.h>
>> #include <poppler/cpp/poppler-pagerenderer.h>
>> #include <poppler/cpp/poppler-image.h>
>>
>> 3)
>>
>> g++  -rdynamic -lfreetype -lpoppler-cpp -lSDL     -shared-libgcc
>> -pthread  -fexceptions -fgnu-runtime -o obj/WindowServer \
>>     ./obj/WindowServer.obj/hash.m.o ./obj/WindowServer.obj/tree.m.o
>> ./obj/WindowServer.obj/stack.m.o ./obj/WindowServer.obj/WSFeedback.m.o
>> ./obj/WindowServer.obj/WSComponent.m.o
>> ./obj/WindowServer.obj/WSModule.m.o
>> ./obj/WindowServer.obj/WSModuleManager.m.o
>> ./obj/WindowServer.obj/WSDisplayModule.m.o
>> ./obj/WindowServer.obj/WSKeyboardModule.m.o
>> ./obj/WindowServer.obj/WSPointerModule.m.o
>> ./obj/WindowServer.obj/WSMiscModule.m.o
>> ./obj/WindowServer.obj/WSEvent.m.o
>> ./obj/WindowServer.obj/WSWindowManager.m.o
>> ./obj/WindowServer.obj/WSConfigurationReader.m.o
>> ./obj/WindowServer.obj/WSServerCore.m.o
>> ./obj/WindowServer.obj/WSWindow.m.o ./obj/WindowServer.obj/main.m.o
>> ./obj/WindowServer.obj/rendering.cc.o \
>>       -L/home/jamie/Developer/System/lib
>> -L/home/jamie/Library/Libraries
>> -L/home/jamie/Developer/System/LocalLibrary/Libraries
>> -L/home/jamie/Developer/System/Net/Library/Libraries
>> -L/home/jamie/Developer/System/SystemLibrary/Libraries
>> -lgnustep-base    -lobjc   -lm
>> ./obj/WindowServer.obj/rendering.cc.o: In function `renderPDF':
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:16:
>> undefined reference to `poppler::image::image()'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:20:
>> undefined reference to `poppler::document::load_from_raw_data(char
>> const*, int, std::__cxx11::basic_string<char, std::char_traits<char>,
>> std::allocator<char> > const&, std::__cxx11::basic_string<char,
>> std::char_traits<char>, std::allocator<char> > const&)'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:24:
>> undefined reference to `poppler::document::create_page(int) const'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:28:
>> undefined reference to `poppler::page_renderer::page_renderer()'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:29:
>> undefined reference to
>> `poppler::page_renderer::render_page(poppler::page const*, double,
>> double, int, int, int, int, poppler::rotation_enum) const'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:29:
>> undefined reference to `poppler::image::operator=(poppler::image
>> const&)'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:29:
>> undefined reference to `poppler::image::~image()'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:30:
>> undefined reference to `poppler::image::data()'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:31:
>> undefined reference to `poppler::image::height() const'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:31:
>> undefined reference to `poppler::image::bytes_per_row() const'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:16:
>> undefined reference to `poppler::image::~image()'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:29:
>> undefined reference to `poppler::image::~image()'
>>
>> /home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source/rendering.cc:16:
>> undefined reference to `poppler::image::~image()'
>> collect2: error: ld returned 1 exit status
>>
>> /home/jamie/Developer/System/SystemDeveloper/Makefiles/Instance/tool.make:89:
>> recipe for target 'obj/WindowServer' failed
>> make[4]: *** [obj/WindowServer] Error 1
>>
>> /home/jamie/Developer/System/SystemDeveloper/Makefiles/Instance/tool.make:74:
>> recipe for target 'internal-tool-all_' failed
>> make[3]: *** [internal-tool-all_] Error 2
>>
>> /home/jamie/Developer/System/SystemDeveloper/Makefiles/Master/rules.make:311:
>> recipe for target 'WindowServer.all.tool.variables' failed
>> make[2]: *** [WindowServer.all.tool.variables] Error 2
>>
>> /home/jamie/Developer/System/SystemDeveloper/Makefiles/Master/tool.make:71:
>> recipe for target 'internal-all' failed
>> make[1]: *** [internal-all] Error 2
>> make[1]: Leaving directory
>> '/home/jamie/Developer/Projects/FREEDOMSTEP/GNUWindowServer-I/Source'
>>
>> /home/jamie/Developer/System/SystemDeveloper/Makefiles/Master/serial-subdirectories.make:53:
>> recipe for target 'internal-all' failed
>> make: *** [internal-all] Error 2
>>
>> On Sat, Aug 26, 2017 at 7:07 PM, Daniel Ferreira (theiostream)
>> <address@hidden> wrote:
>> > Could you point us out to:
>> > 1) the output of running `nm libYourLibrary.so`
>> > 2) the header declarations for the functions you are using
>> > 3) the error output of the linker?
>> >
>> > -- Daniel.
>> >
>> > Em 26 de ago de 2017 19:03, "Jamie Ramone" <address@hidden>
>> > escreveu:
>> >>
>> >> Hello world! I'm trying to build a project of mine in GNUstep which
>> >> requires some functionality provided by an external library, which is
>> >> in C++. I tried to build it with portions in Objc++ but faild. I said
>> >> it couldn't find the symbols it needed (calls to the methods of c++
>> >> objects). So I rewrote the thing moving the c++ dependencies to a
>> >> function in a plain c++ file. Strike 2. I checked around on the web
>> >> and discovered i needed the 'extern "C" {' thingy, so I added that. I
>> >> even rebuilt the external library, knowing that Ubuntu has more bugs
>> >> than rotting wood. Didn't help. I'm all out of ideas. Can anyone help?
>> >> Please let me know what information you need. Thanx!
>> >>
>> >> _______________________________________________
>> >> Gnustep-dev mailing list
>> >> address@hidden
>> >> https://lists.gnu.org/mailman/listinfo/gnustep-dev
>>
>> _______________________________________________
>> Gnustep-dev mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/gnustep-dev


reply via email to

[Prev in Thread] Current Thread [Next in Thread]