Error undefined symbol wsregistercustomimagelistresolution

Error: Undefined symbol: WSRegisterCustomImageList Lazarus Решение и ответ на вопрос 815782

0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 9

22.03.2013, 19:52

 [ТС]

5

Вот это появляется:
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomImageList
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterMenuItem
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterMenu
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterMainMenu
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterPopupMenu
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterDragImageList
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterLazAccessibleObject
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterControl
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterWinControl
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterGraphicControl
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomControl
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterScrollingWinControl
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterScrollBox
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomFrame
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomForm
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterHintWindow
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomScrollBar
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomGroupBox
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomComboBox
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomListBox
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomEdit
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomMemo
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterButtonControl
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomButton
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomCheckBox
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterToggleBox
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterRadioButton
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomStaticText
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomLabel
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomBitBtn
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomSpeedButton
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterShape
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomSplitter
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterPaintBox
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomImage
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterBevel
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomRadioGroup
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomCheckGroup
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomLabeledEdit
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomPanel
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomTrayIcon
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCommonDialog
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterFileDialog
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterOpenDialog
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterSaveDialog
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterSelectDirectoryDialog
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterColorDialog
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterColorButton
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterFontDialog
PrLr3.lpr(13,1) Error: Undefined symbol: WSRegisterCustomGrid
PrLr3.lpr(13,1) Fatal: There were 50 errors compiling module, stopping
И оранжевым выделяется end.



0



Topic: Undefined symbol: WSRegisterCustomImageList but I’m not using LCL  (Read 8321 times)

I get the following error on linking stage:

Error: Undefined symbol: WSRegisterCustomImageList
However the problem is that my project is not supposed to require LCL. I am trying to figure out which unit of my project depends on LCL to, but no luck
Advice plz?

gawd this is frustrating; yesterday my project was fine, but not the compiler throws this error unless I include Interfaces module.

This is causing real problems for me

« Last Edit: March 05, 2014, 11:03:51 am by hinst »


Logged

Too late to escape fate


You do not give enough info to comment. What platform/target CPU? Is your app for console or GUI, if GUI what widgetset? Which units are specified in your .lpr? How many units involved, and what is specified in their uses clauses? What dependencies does the Project Inspector show? Are you linking any resources (-k option) … etc.


Logged


The comment at the start of WSFactory unit gives an insight:

{ These functions are implemented by the LCL backends.
  If you get a linker error for one of these functions you probably forgot
  to add the unit «interfaces» to your program.
  The unit interfaces must be added as one of the first units of the main program.

  Example for a linker error:
    /path/to/lazarus/lcl/units/x86_64-linux/wsimglist.o: In function `REGISTERCUSTOMIMAGELIST’:
    /path/to/lazarus/lcl//widgetset/wsimglist.pp:266: undefined reference to `WSRegisterCustomImageList’
}

I am trying to figure out which unit of my project depends on LCL to, but no luck

Project->Show used .ppu files


Logged


Oops, problem solved (most likely)
I recompiled this project on another PC, this time it did not fail on linking stage
Perhaps something is wrong with the Lazarus installation I have (the first one, on which I initially tried to compile my proj.). I will just remove it, clean settings and install again. I remember now that I was messing with Lazarus packages recently, so perhaps I just occasionally included some unit (which does not belong there) in one of the standard packages


Logged

Too late to escape fate


Turned out:
In unit EpikTimer I had:

uses
  ...
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, dateutils;
Where Forms, Controls, Graphics, Dialogs were included for no reason
I removed these dependencies in EpikTimer on my first PC, but on another PC I had a copy of EpikTimer too, where I did not remove these dependencies
I managed to track it down using «Show PPU files» tool


Logged

Too late to escape fate


Mmm, if EpikTimer works well without those, perhaps the source can be updated:
http://wiki.lazarus.freepascal.org/EpikTimer
indicates it’s on Lazarus-CCR, so raising a bug on the bugtracker in the Lazarus-CCR category should get the attention of the responsible developer…

Thanks,
BigChimp


Logged


Создал динамическую библиотеку, добавил в проект файл fuexport.pas:

Код: Выделить всё
library test_dll;

{$mode objfpc}{$H+}

uses
  Classes, fuexport
  { you can add units after this };

begin

end.

и (тут только добавил зависимость от Dialogs):

Код: Выделить всё
unit fuexport;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Dialogs;

implementation

end.

все компилируется без ошибок, но если добавить зависимость проекта с пакетом LCL, то получаю кучу ошибок:

Компиляция проекта, цель: test_dll.dll: Код завершения 1, ошибок: 49
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomImageList
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterMenuItem
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterMenu
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterMainMenu
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterPopupMenu
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterDragImageList
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterLazAccessibleObject
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterControl
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterWinControl
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterGraphicControl
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomControl
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterScrollingWinControl
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterScrollBox
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomFrame
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomForm
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterHintWindow
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomScrollBar
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomGroupBox
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomComboBox
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomListBox
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomEdit
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomMemo
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterButtonControl
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomButton
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomCheckBox
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterToggleBox
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterRadioButton
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomStaticText
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomLabel
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomBitBtn
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomSpeedButton
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterShape
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomSplitter
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterPaintBox
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomImage
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterBevel
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomRadioGroup
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomCheckGroup
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomLabeledEdit
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomPanel
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCustomTrayIcon
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterCommonDialog
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterFileDialog
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterOpenDialog
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterSaveDialog
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterSelectDirectoryDialog
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterColorDialog
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterColorButton
test_dll.lpr(11,1) Error: Undefined symbol: WSRegisterFontDialog

что это?

  


Сообщ.
#1

,
07.05.11, 09:54

    Junior

    *

    Рейтинг (т): 2

    Приветствую всех!
    Вопрос стоит в следующем если создаю Библиотеку в лазаре, то в пустом виде все компилится и соберается прекрасно, но если добавляю туда форму то при сборке она ругается мол не найден файл FileUtil

    unit1.pas(8,22) Fatal: Can’t find unit FileUtil used by Unit1

    закомментировал FileUtil он ругается уже на Forms и т.д. Проблема видимо в путях но в параметрах проекта я дал ему скушать путь до этой самой FileUtil, но далее при компиляции он открывает файл FileUtil в новой вкладке и ругается что не найден файл «FileUtils.Inc» и т.д.

    Может быть кто либо здесь встречался с такой проблемой, рад буду услышать какие либо решения предпринятые вами.

    Прикрепляю исходники


    Прикреплённый файлПрикреплённый файлproject1.zip (124,66 Кбайт, скачиваний: 145)

    Guru

    volvo877



    Сообщ.
    #2

    ,
    07.05.11, 10:26

      Moderator

      *******

      Рейтинг (т): 878

      Project -> Project Inspector -> жмешь синий плюс, вкладка (New Requirement) и добавляешь зависимость: LCL…

      Собирается на ура. :)


      chak_xakep



      Сообщ.
      #3

      ,
      07.05.11, 10:43

        Junior

        *

        Рейтинг (т): 2

        Цитата volvo877 @ 07.05.11, 10:26

        Добавил зависимость LCL теперь когда жму запуск —> собрать все он выдает аж 50 ошибок с неопределенными символами. см. ниже

        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomImageList
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterMenuItem
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterMenu
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterMainMenu
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterPopupMenu
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterDragImageList
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterControl
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterWinControl
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterGraphicControl
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomControl
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterScrollingWinControl
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterScrollBox
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomFrame
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomForm
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterHintWindow
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomScrollBar
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomGroupBox
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomComboBox
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomListBox
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomEdit
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomMemo
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterButtonControl
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomButton
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomCheckBox
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterToggleBox
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterRadioButton
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomStaticText
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomLabel
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomBitBtn
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomSpeedButton
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomPage
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomNotebook
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterShape
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomSplitter
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterPaintBox
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomImage
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterBevel
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomRadioGroup
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomCheckGroup
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomLabeledEdit
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomPanel
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCustomTrayIcon
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterCommonDialog
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterFileDialog
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterOpenDialog
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterSaveDialog
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterSelectDirectoryDialog
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterColorDialog
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterColorButton
        project1.lpr(12,1) Error: Undefined symbol: WSRegisterFontDialog
        project1.lpr(12,1) Fatal: There were 50 errors compiling module, stopping

        Сообщение отредактировано: chak_xakep — 07.05.11, 10:44

        Guru

        volvo877



        Сообщ.
        #4

        ,
        07.05.11, 10:59

          Moderator

          *******

          Рейтинг (т): 878

          ExpandedWrap disabled

            Uses …, Interfaces

          ?

          У меня, кстати, собралось без этого…


          chak_xakep



          Сообщ.
          #5

          ,
          07.05.11, 11:08

            Junior

            *

            Рейтинг (т): 2

            Цитата volvo877 @ 07.05.11, 10:59

            Спасибо теперь компилится успешно.
            Я почитал вот это http://www.lazarus.freepascal.org/index.php?topic=12826.0 не догадался что это следует добавить в секцию Uses, добавлял выше Uses. А как сделать чтобы он не линковал ко всей dll’ке LCL? т.е. не собирал все это вместе с LCL. А то получается если у меня будет каждая DLL по 12 Мб c отладочной информацией будет весьма большой проект. Например в Delphi7 необходимо убрать галочку Build with Runtime packages.

            Guru

            volvo877



            Сообщ.
            #6

            ,
            07.05.11, 11:21

              Moderator

              *******

              Рейтинг (т): 878

              Цитата chak_xakep @ 07.05.11, 11:08

              А то получается если у меня будет каждая DLL по 12 Мб c отладочной информацией

              Чего это по 12Мб?


              316К всегоПрикреплённый файлlazarus_dll.jpg (224,79 Кбайт, скачиваний: 677)

              Сообщение отредактировано: volvo877 — 07.05.11, 11:22


              chak_xakep



              Сообщ.
              #7

              ,
              07.05.11, 11:32

                Junior

                *

                Рейтинг (т): 2

                убрал но теперь он весит 1,666 Кб :D как добиться 366 кб?


                Polinom2686



                Сообщ.
                #8

                ,
                07.05.11, 11:34

                  Senior Member

                  ****

                  Рейтинг (т): 13

                  Цитата chak_xakep @ 07.05.11, 11:32

                  убрал но теперь он весит 1,666 Кб :D как добиться 366 кб?

                  Почему именно 366?


                  chak_xakep



                  Сообщ.
                  #9

                  ,
                  07.05.11, 11:38

                    Junior

                    *

                    Рейтинг (т): 2

                    Понял Вы отключили модуль Unit1 вот и получилось маленькое 366 кб. Как сделать чтобы программа работала с Runtime Package’ами? т.е. как в Delphi7 допустим у меня будет 20 dll’ок система плагинов. В проекте Unit1 еще не нагружен функционалом. Существует ли в Lazarus’e Runtime Packages? тот же LCL в виде какой нибудь Dll которую можно было бы положить в папку с программой и все dll’ки подгружали ее при надобности, или такая возможность отсутствует?

                    получается RTL+LCL будут свои в каждой dll.

                    Сообщение отредактировано: chak_xakep — 07.05.11, 12:53

                    Guru

                    volvo877



                    Сообщ.
                    #10

                    ,
                    07.05.11, 14:33

                      Moderator

                      *******

                      Рейтинг (т): 878

                      Цитата chak_xakep @ 07.05.11, 11:38

                      Существует ли в Lazarus’e Runtime Packages?

                      Нет. FPC не поддерживает пока Runtime Packages.

                      Понравилась статья? Поделить с друзьями:
                    • Error undefined reference to vtable
                    • Error undefined opencart
                    • Error undefined offendingcommand sign
                    • Error undefined offending command ошибка печати
                    • Error undefined offending command sign stack degree