Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 66
1

LNK 2019 и extern "C"

27.02.2014, 12:39. Показов 533. Ответов 3
Метки нет (Все метки)

Добрый день
Понадобилось собрать с - й проект на vs 2008. Проект был изначально сделан под vs 6.0 но построился без проблем. Теперь вот хочу написать свою dll которая использует lib из этого проекта. Создал проект dll в vs, прописал где брать хедеры и lib и какую lib брать. Но проблема в том что не линкуется. На вызове функции из это й lib пишет ошибку lnk2019.
Заметил такую странную вещь: перед объявлением функции в lib стоит __cdecl(dllexport). Попробовал перед ним написать extern "C" - выдал синтаксическую ошибку. Тоже самое проделал в своей собственной dll и компилятор съел такую сигнатуру. Ощущение такое что в одном проекте прописано что-то вроде компановать как С, а во втором как c++ или что в этом роде(не знаю где это смотреть, но компилируется и то и то ка С++ код TP).

Добавлено через 17 часов 34 минуты
Как я понял проблема в том, что все таки у меня lib скомпилирована как си, а моя dll как с++. Тогда вопрос в том как прилинковать в dll на с++ функцию из lib на Си
?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2014, 12:39
Ответы с готовыми решениями:

error LNK2001: unresolved external symbol "extern "C" int __stdcall
Доброй ночи всем программистам, у меня возникла проблема следующего характера: при добавлении в...

Зачем нужен extern "C++"
Всем здрасьте. В visual C++ экспортировать функции через __declspec можно с указанием extern...

Ошибки в VS 2019: LNK2019 и LNK 1120
Привет, форумчане! Не могу исправить четыре ошибки: Ошибка LNK2019 ссылка на неразрешенный...

Выдает ошибку (LNK 2019) в коде
Помогите разобраться в чем проблема #include "stdafx.h" #include "iostream" #include "math.h"...

3
29 / 29 / 16
Регистрация: 06.03.2013
Сообщений: 159
03.03.2014, 13:43 2
попробуйте в настройках проекта: c++ -> advanced параметр "compile as" = "compile as C code"
1
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 66
03.03.2014, 13:45  [ТС] 3
Спасибо, но это проблему не решило.
0
29 / 29 / 16
Регистрация: 06.03.2013
Сообщений: 159
03.03.2014, 14:16 4
а кстати, а в def файле (проекта C), указана эта экспортная функция? что вроде
C++
1
2
3
4
5
6
; aplFormularReportLib.def : Declares the module parameters for the DLL.
 
LIBRARY      "aplFormularReportLib"
 
EXPORTS
    GetQueryList                            @1
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2014, 14:16

"Необработанное исключение в "0x00417c85" в "oui2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000"."
Пишем программу в VS 2010 на С++ DirectX SDK (June 2010). Доходя до одной строчки появляется...

Необработанное исключение в "0x00a78659" в "First.exe": 0xC0000005: Нарушение прав доступа при записи "0x0189f000"
Здравствуйте, вот столкнулся с ошибкой и не могу понять в чем причина, вроде все правильно сделал....

Необработанное исключение в "0x77df15de" в "kursova.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcdcdd5"
как решить эту проблему? Необработанное исключение в "0x77df15de" в "kursova.exe": 0xC0000005:...

Пишет: "Несовместимые типы операндов "char" и "const char*"". Что делать?
#include "stdafx.h" #include <ctime> #include <iostream> #include <conio.h> #include <locale.h>...

Звук и таймер - реализовать классы: "зв. сигал", "таймер" и "секундомер-сигнализатор"
Подскажите пожалуйста, дано задание реализовать классы: "зв. сигал", "таймер" и...

Что означает extern "C" или extern "C++"?
Например такой код, extern "C" void f(); Или C++ вместо C. Что это означает и где это применяется...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.