[C++] Dodawanie bibliotek Windows

0

Witam mam taki problem używam <windows.h> ,a ona potrzebuje msvcr70.dll

Da się "zlinkować" żeby ktoś na innym komputerze nie musiał dodawać tej biblioteki ręcznie ?

0

Z tego co wiem to windows.h jest biblioteką systemową i jest wbudowana w każdy system. Jeśli jest potrzebna jakaś osobna biblioteka to pewnie twój program jest kompilowany w trybie debug i potrzebuje osobnej biblioteki z symbolami debuggera.

0

No jak uruchomię samo .exe to woła o bibliotekę msvcr70.dll

Ja sobie dodałem, ale jak dam koledze program to już mu się nie chce dodawać ręcznie

0

To też dostałes już odpowiedź: kompiluj w trybie release a nie debug.

0

Ech, ludzie, ale pierniczycie... znowu. Niemal każdy kompilator trzyma runtime w zewnętrznej bibliotece, co ma swoje uzasadnienie. Nie polecam wlinkowywania runtime'u, ale jeżeli już musisz, pamiętając o wyborze konfiguracji Release, to: Project -> Properties -> C/C++ -> Code Generation -> Runtime Library -> Multi-threaded (/MT). Jakkolwiek dołączanie libów bądź instalowanie pakietu redystrybucyjnego jest zdecydowanie lepszym rozwiązaniem na dłuższą metę.

0

Tego nie ma w opcjach

Project -> Properties -> C/C++ -> Code Generation -> Runtime Library -> Multi-threaded (/MT).

0

Nie ma? To poszukaj czegoś podobnego albo przestań używać muzealnych narzędzi... Przecież wszystkie Visuale od 2005 mają wersję Express, darmową nawet do zastosowań komercyjnych, po cholerę korzystać ze starocia skoro tylko podstawowe biblioteki wykorzystujesz? Nie mam Visual Studio .NET, w kolejnych jest tak jak podałem, w Visual C++ 6 to wygląda niemal identycznie: Project -> Settings -> C/C++ {zakładka} -> Category {combobox} -> Code Generation -> Use run-time library -> Single-Threaded (lub Multithreaded, zależnie od potrzeb).

Dobra rada, zmień środowisko - jeżeli jest jakaś totalnie zapomniana i nieużywana wersja Visual Studio to jest nią właśnie Visual Studio .NET.

0

Nie wiedziałem, że Code Blocks jest archiwalne ;o

0

bo nie jest.

0

Czy Ty chcesz powiedzieć, że używasz starego microsoftowego sdk/toolchainu w połączeniu z Code::Blocks?

0

Uzywam windows.h bo chcę użyć Beep( , )

0

A możesz w końcu powiedzieć jakiego środowiska używasz? Z nazwy pliku można wywnioskować, że to kompilator z toolchainu Visuala .NET, ten był dostępny i w Visualu i jako oddzielna darmowa paczka (Visual C++ Toolkit 2003 - narzędzia itd. bez IDE, wtedy jeszcze edycji Express nie było). Jakiego nagłówka używasz to my wiemy, już o tym pisałeś.

0

Przecież napisałeś Code::Blocks 10.05 , MinGw ... kompialtor GCC

0

Nie było chyba MinGW, które domyślnie korzystałoby z czegoś innego niż standardowe msvcrt.dll... Weź gdzieś jakieś hello-world tym skompilowane wrzuć, zobaczymy. Zobacz czy nie masz gdzieś w katalogu z MinGW pliku gccmrt.bat (albo gccmrt.cmd, nie pamiętam), jak znajdziesz to odpal z konsoli, z argumentem 60 - to powinno ustawić linkowanie do powszechnej wersji runtime'u.

Aha, zapomniałbym - to nie ma związku z windows.h, tu nie chodzi o biblioteki systemowe tylko o klamoty dla C/C++ jako takiego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1