Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/140: Рейтинг темы: голосов - 140, средняя оценка - 4.54
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66

Как мне подключить статическую lib

28.03.2013, 11:40. Показов 26217. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Visual Studio 2008. Я создал статическую lib-библиотеку. Она компилируется.
Теперь я в приложении хочу подключить ее и вызвать функцию. Но во время линковки получаю такую ошибку:

Code
1
2>utDlg.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: static int __cdecl utlib::myfunc(class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > > &)" (?myfunc@utlib@@SAHAAV?$CStringT@DV?$StrTraitMFC@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z) в функции "public: void __thiscall CutDlg::OnBnClickedPress(void)" (?OnBnClickedPress@CutDlg@@QAEXXZ)
Это на вызов "myfunc" ошибка?
В общих свойства проекта, где я делаю вызов я указал ссылку.

Нужно "где-то как-то" указать где находится этот lib-файл?

(Он автоматически помещается в папку Debug моего проекта)
Уже поиском излазил и здесь и на "исходниках".
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.03.2013, 11:40
Ответы с готовыми решениями:

VC++ 2010 как подключить внешнюю lib ?
Не пойму как ЭТО делать в 10й версии.

Как подключить dll, lib к проекту?
Здравствуйте! Раньше никогда этим не занимался, и длл и либ файлы не мои. Надо подключить к проекту что бы пропали ошибки ...

Подключить *.lib в проект
Здравствуйте! Есть программа, в нее нужно подключить некие библиотеки SinusDLL.lib и mclmcrrt.lib. Подключаю следующим способом: ...

16
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
28.03.2013, 12:38
бУРов, вобще-то твоя ошибка более походит на то что неверно слинкована lib-a
касательно подключения lib-файла к преокту, да вот так
C++
1
2
3
#include <хедеры>
//сразу после хедеров
#pragma comment(lib,"name.lib")
1
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
28.03.2013, 12:39
Цитата Сообщение от бУРов Посмотреть сообщение
Нужно "где-то как-то" указать где находится этот lib-файл?
В настройках компоновщика добавить соответствующую либу. См. рисунок.
Миниатюры
Как мне подключить статическую lib  
0
28.03.2013, 12:43

Не по теме:

Tulosba, на много проще написать прагму, зачем делать код непортируемым?
Допустим код цельный срр файл, с которым я не хочу тягать sln и workspace pragma comment будет всегда, а настройки только для текущего решения.

0
28.03.2013, 13:06

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

Tulosba, на много проще написать прагму, зачем делать код непортируемым?
Допустим код цельный срр файл, с которым я не хочу тягать sln и workspace pragma comment будет всегда, а настройки только для текущего решения.

Портируемость, говорите. А эту прагму кроме MS понимают другие компиляторы?
Если не хочется таскать солюшн, то почему бы не оформить весь модуль сразу как либу?
Я дальше включить её через ту же прагму :) ну, или через свойства проекта.
Не спорю насчет простоты записи, но таким макаром можно было бы ещё множество настроек вынести из проекта через подобные прагмы. Хорошо ли это?

0
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
28.03.2013, 13:29  [ТС]
Цитата Сообщение от Tulosba Посмотреть сообщение
В настройках компоновщика добавить соответствующую либу
Это в свойствах проекта из которого вызывается функция?
Вот так:
"$(OutDir)\mylib.lib"
не помогает
Ошибка такая же.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
28.03.2013, 13:42
бУРов, код в студию

Добавлено через 9 минут

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Портируемость, говорите. А эту прагму кроме MS понимают другие компиляторы?
Если не хочется таскать солюшн, то почему бы не оформить весь модуль сразу как либу?
Я дальше включить её через ту же прагму ну, или через свойства проекта.
Не спорю насчет простоты записи, но таким макаром можно было бы ещё множество настроек вынести из проекта через подобные прагмы. Хорошо ли это?
- а то что само расширение lib подразумевает 9-x/NT, VisualStudio и совместимые с ним компиляторы это ничё?Или мы в иксах тоже lib-ы подключаем?Почитай http://ru.wikipedia.org/wiki/Б... ммирование)

0
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
28.03.2013, 13:51  [ТС]
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
код в студию
В личку заслал.
0
28.03.2013, 14:47

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- а то что само расширение lib подразумевает 9-x/NT
Причем здесь расширение файла, если речь вообще-то о #pragma и ее использовании для сборки, портабельного кода?
В любом случае, никто ведь не запрещает дать библиотеке имя с .lib на конце в линухе.

0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
28.03.2013, 16:59
Цитата Сообщение от бУРов Посмотреть сообщение
В личку заслал.
- объясни мне теперь зачем тебе эти данные?
Миниатюры
Как мне подключить статическую lib  
0
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
28.03.2013, 17:27  [ТС]
Что-то в личке ничего нет.
Я сейчас домой ухожу. Вечером доразбираюсь и обьясню.
0
28.03.2013, 17:49

Не по теме:

Цитата Сообщение от бУРов Посмотреть сообщение
Что-то в личке ничего нет.
- проект то у меня уже собран, поясни мне - зачем сингл прогеру получать серийный номер чужой ОСи?

0
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
28.03.2013, 20:41  [ТС]
А инженер - он что солдат. Шеф инженеру задачу поставил - инженер вопросов не задает, инженер берет под козырек и задачу выполняет.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
28.03.2013, 22:50
бУРов, если тебе как говоришь надо всего-то получить серийник системного тома, то ты так сказать стрелял из пушки по комарам.
Ниже код возвращающий серийник системного тома
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <windows.h>
#include <iomanip>
#include <iostream>
using namespace std;
 
int main()
{
    system("chcp 1251");
    char szVolName[MAX_PATH] = {0};
    char szFileSys[MAX_PATH] = {0};
    char szSysPath[MAX_PATH] = {0};
    char szDrive[3]          = {0};
    DWORD dwVolSerialNo      = 0;
    DWORD dwMaxComponent     = 0;
    DWORD dwSysFlags         = 0;
    if(!GetSystemDirectory(szSysPath, MAX_PATH))
        cout<<"GetSystemPath ERROR : "<<strerror(GetLastError())<<endl;
    else
    if
    (
        !GetVolumeInformation
        (
            strncpy(szDrive, szSysPath, 2),
            szVolName, MAX_PATH,
            &dwVolSerialNo, &dwMaxComponent,
            &dwSysFlags, 
            szFileSys, MAX_PATH
        )
    )
        cout<<"GetVolumeInfo ERROR : "<<strerror(GetLastError())<<endl;
    else
        cout<<"szVolPath : "<<szDrive       <<endl
            <<"szVolName : "<<szVolName     <<endl
            <<"VolSerial : "<<hex<<dwVolSerialNo <<endl
            <<"szFileSys : "<<szFileSys     <<endl;
    system("pause");
    return 0;
}
Миниатюры
Как мне подключить статическую lib  
1
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
29.03.2013, 09:08  [ТС]
Кажется, это не тот серийник.
Миниатюры
Как мне подключить статическую lib   Как мне подключить статическую lib  
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
29.03.2013, 12:38
бУРов, серийник системного тома и HDD на котором вертится ОСь, это чертовски разные вещи, напиши по русски серийник чего тебе надо - HDD или тома с ОСью?

Не по теме:

Правильно поставленное задание - уже 50% к его решению

0
2 / 2 / 0
Регистрация: 05.04.2010
Сообщений: 66
29.03.2013, 12:56  [ТС]
Да мне надо чтобы lib-проект (там вызываемая функция) собрался вместе с проектом, из которого функция вызывается.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2013, 12:56
Помогаю со студенческими работами здесь

Я не могу разобраться как мне правильно подключить исполняемый файл .срр
Доброго всем времени суток. Начал изучать Visual С++. Конечно интерестный язык, но довольно таки громоздкий. Сталкнулся с такой проблемой,...

В VS 2005 не могу подключить нестандартную библиотеку *.lib
Купил USB плату для работы с ISA картами и тестирующее ПО к ней. В ране созданный, работающий свой проект в VS 2005 с интегрированным RTX...

В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib
В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib? Я предполагал что в Direct SDK(у меня DirectX SDK 2006), однако там не...

За что отвечает d3d9.lib и d3dx9.lib?
В чём разница?

Как создать статическую библиотеку с расширением .lib в MinGw?
Зачем это надо? - хочу скомпилировать библиотеку в MinGw и подключить к с++builder. Возможно ли это? а может, если я по-варварски возьму...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru