Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 12.01.2017
Сообщений: 19

Подключить библиотеку libxl в g++

25.11.2018, 00:22. Показов 2787. Ответов 2

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "Project.h"
#include "libxl.h"
 
int main(){
    Project b;
    b.Add_Pov("input.txt");
    b.Add_Konst("konst.txt");
    b.Print_Pov();
    b.Print_Konst();
    using namespace libxl;
    Book* book = xlCreateBook(); // xlCreateXMLBook() for xlsx
    if(book)
    {
        Sheet* sheet = book->addSheet(L"Sheet1");
        if(sheet)
        {
            sheet->writeStr(2, 1, L "Hello, World !");
            sheet->writeNum(3, 1, 1000);
        }
        book->save(L"example.xls");
        book->release();
    return 0;
    }
}
Здравствуйте, пытаюсь протестировать пример с сайта библиотеки он начинается с 10 строчки(код до 10 работает норм) но g++ ругается на все что начинается с 14 строчки
Я скорее всего неправильно подключил библиотеку в makefile:

objects = main.o konstryktiv.o sech.o Project.o
DorCad: $(objects)
g++ -o DorCad $(objects)
main.o: main.cpp Project.h
g++ -I //mnt/d/linux_dev/lib/libxl-3.8.3.0/include_cpp -L //mnt/d/linux_dev/lib/libxl-3.8.3.0/lib64 -lxl -Wl,-rpath //mnt/d/linux_dev/lib/libxl-3.8.3.0/lib64 main.cpp
konstryktiv.o: konstryktiv.cpp konstryktiv.h
g++ -c konstryktiv.cpp
sech.o: sech.cpp sech.h
g++ -c sech.cpp
Project.o: Project.cpp Project.h konstryktiv.h sech.h
g++ -c Project.cpp
clean:
rm DorCad.o $(objects)

Я пытался сам соорудить makefile потому что eclipce после подключения к проекту либы ругался так же?
Буду признателен если кто объяснит, что я делаю не так и как надо.

Вот собственно ругань g++


main.cpp:16:48: error: no matching function for call to ‘libxl::IBookT<char>::addSheet(const wchar_t [7])’
Sheet* sheet = book->addSheet(L"Sheet1");
^
In file included from //mnt/d/linux_dev/lib/libxl-3.8.3.0/include_cpp/libxl.h:6:0,
from main.cpp:2:
//mnt/d/linux_dev/lib/libxl-3.8.3.0/include_cpp/IBookT.h:28:45: note: candidate: libxl::ISheetT<TCHAR>* libxl::IBookT<TCHAR>::addSheet(const TCHAR*, libxl::ISheetT<TCHAR>*) [with TCHAR = char]
virtual ISheetT<TCHAR>* XLAPIENTRY addSheet(const TCHAR* name, ISheetT<TCHAR>* initSheet = 0) = 0;
^~~~~~~~
//mnt/d/linux_dev/lib/libxl-3.8.3.0/include_cpp/IBookT.h:28:45: note: no known conversion for argument 1 from ‘const wchar_t [7]’ to ‘const char*’
main.cpp:19:35: error: ‘L’ was not declared in this scope
sheet->writeStr(2, 1, L "Hello, World !");
^
main.cpp:22:34: error: no matching function for call to ‘libxl::IBookT<char>::save(const wchar_t [12])’
book->save(L"example.xls");
^
In file included from //mnt/d/linux_dev/lib/libxl-3.8.3.0/include_cpp/libxl.h:6:0,
from main.cpp:2:
//mnt/d/linux_dev/lib/libxl-3.8.3.0/include_cpp/IBookT.h:23:45: note: candidate: bool libxl::IBookT<TCHAR>::save(const TCHAR*, bool) [with TCHAR = char]
virtual bool XLAPIENTRY save(const TCHAR* filename, bool useTempFile = false) = 0;
^~~~
//mnt/d/linux_dev/lib/libxl-3.8.3.0/include_cpp/IBookT.h:23:45: note: no known conversion for argument 1 from ‘const wchar_t [12]’ to ‘const char*’
makefile:5: recipe for target 'main.o' failed
make: *** [main.o] Error 1
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.11.2018, 00:22
Ответы с готовыми решениями:

Как подключить библиотеку на с# к c++?
Доброго времени суток! Имею библиотеку https://discutils.codeplex.com/ на с#. Я скомпилировал её в .dll. Как мне теперь подключить это...

подключить библиотеку omp.h
Не получается подключить библиотеку omp.h. Прописывала в заголовке &quot;omp.h&quot;. Добавляла скаченный &quot;omp.h&quot;. Ничего не...

какую библиотеку подключить?
в студии 10 невидет cin i cout что изенить? // lllab.cpp: определяет точку входа для консольного приложения. // ...

2
166 / 109 / 57
Регистрация: 30.08.2018
Сообщений: 357
25.11.2018, 04:07
Цитата Сообщение от mayak1fm Посмотреть сообщение
no known conversion for argument 1 from ‘const wchar_t [7]’ to ‘const char*’
L уберите перед строками
C++
1
2
3
4
5
6
    Sheet* sheet = book->addSheet("Sheet1");
        if(sheet)
        {
            sheet->writeStr(2, 1,  "Hello, World !");
 
book->save("example.xls");

В libxl.h можно посмотреть. Если в программе определен макрос _UNICODE
то используется тип wchar_t, иначе char

C++
1
2
3
4
5
6
7
8
9
10
 #ifdef _UNICODE
        typedef IBookT<wchar_t> Book;
        typedef ISheetT<wchar_t> Sheet;
        .........
    #else
        typedef IBookT<char> Book;
        typedef ISheetT<char> Sheet;
        typedef IFormatT<char> Format;
        .........
    #endif
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
25.11.2018, 07:19
У меня все скомпилилось, правда в VS2017. В 17 строке L слитно пиши.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2018, 07:19
Помогаю со студенческими работами здесь

Нужно подключить библиотеку
Скачиваю Selenium WebDriver с NuGet, и не понимаю что делать дальше, может в #include надо прописать? я не знаю

Как подключить библиотеку?
Здравствуйте! Меня интересует: 1. Как именно подключаются библиотеки к с++ (vs 2017)? 2. Где их удобнее всего искать на просторах...

Как подключить библиотеку?
Скачал c boost.org архив с библиотекой boost скинул в папку @C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\\lib\boost@ пытаюсь...

Как подключить библиотеку в Qt
Вообщем делаю курчас,в QT.Мне нужен был класс матриц я его нашел http://cppstudio.com/post/4946/,но проблема в том что выдает ошибку на...

Как подключить библиотеку
Привет всем. Возникла проблема с подключением библиотек. Смотрел в интернете, но ответа не нашёл. Использую visual studio 2013 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru