cppunit编译,不知道为啥,好多人都报错
来源:互联网 发布:12306数据库.rar 编辑:程序博客网 时间:2024/04/30 06:30
CppUnit 1.11.6 http://sourceforge.net/projects/cppunit.
CppUnit muss leider selbst compiliert werden.
Sources: cppunit-1.11.6.tar.gz
Doku: cppunit-docs-1.11.6.tar.gz
Die benötigten Binaries compiliert (auf einem WinXP64-System, läuft auch an der FH) cppunit-bin-1.11.6.zip (6 MB)
Build-Anleitung für die Interessierten (die Anleitung findet man auch im Sourcen-Archiv in der Datei "INSTALL-WIN32.txt"):
Die Projekt-Homepage ist hier:
- Im Unterverzeichnis "src" die Visual-Studio-6-Workspace-Datei "CppUnitLibraries.dsw" mit Visual Studio öffnen. Es gibt eine Reihe von Abfragen ob der Workspace konvertiert werden soll, die alle mit "Ja" beantworten.
- Im Menü "Erstellen" den Punkt "Batch erstellen..." wählen.
- Im erscheinenden Dialog "Batch erstellen" auf "Alle auswählen" klicken und dann auf "Erstellen".
- Beim ersten Durchlauf gibt es direkt im ersten Projekt "cppunit" diese Fehlermeldung:
Das scheint daran zu liegen dass das Verzeichnis "lib" zu dieser Zeit noch nicht erstellt ist.Copying target to lib/Das System kann den angegebenen Pfad nicht finden.0 Datei(en) kopiert.Project : error PRJ0019: Ein Tool hat einen Fehlercode aus folgender Quelle zurückgegeben: "Copying target to lib/"
Lösung: Zweiter Build-Durchlauf (hierbei im Dialog "Batch erstellen" den Button "Neu erstellen" wählen sonst wird nicht komplett neu compiliert !) - Jetzt gibt es bei mir immer noch Fehler:
Lösung in diesem Fall: Die Datei "MsDevCallerListCtrl.cpp" im Projekt "TestRunner" öffnen und den Import für die Typelib "dte80a.olb" (der hier über die GUID geht) ersetzen durch den absoluten Pfad:MsDevCallerListCtrl.cpp./MsDevCallerListCtrl.cpp(67) : error C3505: Typbibliothek '{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}' kann nicht geladen werden./MsDevCallerListCtrl.cpp(67) : fatal error C1104: Schwerwiegender Fehler beim Importieren der LibID: "80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2"
Aus:
wird:#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("7.0") lcid("0") raw_interfaces_only named_guids
Hierbei handelt es sich um den Import der Datei "dte80a.olb" im Verzeichnis "C:/Programme/Gemeinsame Dateien/Microsoft Shared/MSEnv/dte80a.olb". Scheinbar ist es egal was wir hier eintragen, es darf nur nicht "7.0" bei der Version stehen...#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("8.0") lcid("0") raw_interfaces_only named_guids
- Das Projekt "DSPlugIn" wird immer noch in 2 Konfigurationen Buildfehler erzeugen. Wir benötigen es aber sowieso nicht da es nur mit Visual Studio 6 läuft. Die Fehler werden also ignoriert.
- Jetzt liegen im Verzeichnis "lib" die benötigten Dateien. Von einigen Dateien gibt es mehrere Namens-Varianten. Konvention (am Beispiel "TestRunner.dll"):
-Kein Zusatz (TestRunner.dll): Release-Modus, kein Unicode
-Zusatz "u" am Dateinamen (testrunneru.dll): Release-Modus, Unicode-Unterstützung
-Zusatz "d" am Dateinamen (testrunnerd.dll): Debug-Modus, kein Unicode
-Zusatz "ud" am Dateinamen (testrunnerud.dll): Debug-Modus, Unicode-Unterstützung
Wir werden mit den Debug-Varianten MIT Unicode-Unterstützung arbeiten, die Anleitung von Hr. Dreher bezieht sich auf die Variante OHNE Unicode.
Falls mit der von mir vorcompilierten Binary gearbeitet wird dann gibt es beim Compilieren 15 Warnungen dieser Art:
cppunitd.lib(Asserter.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "C:/Temp/cppunit-1.11.6/lib/cppunitd.lib" oder an "c:/Temp/VS2005/MFCBasics/debug/vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.cppunitd.lib(Exception.obj) : warning LNK4099: PDB "vc80.pdb" wurde nicht mit "C:/Temp/cppunit-1.11.6/lib/cppunitd.lib" oder an "c:/Temp/VS2005/MFCBasics/debug/vc80.pdb" gefunden; Objekt wird verknüpft, als ob keine Debuginformationen vorhanden wären.
Dies liegt daran dass im jeweiligen Debug-Verzeichnis eines jeden VC++-Projekts die präcompilierte Header-Datei "vc80.pdb" liegt. Eine lib-Datei die im Debug-Modus erstellt wurde referenziert diese pdb-Datei über ihren absoluten Pfad, das heißt sogar wenn ich die kompletten Debug-Verzeichnisse in die Datei packen würde würde die Anwendung nur dann ohne Fehler compilieren wenn die Pfade exakt mit denen auf dem Rechner übereinstimmen auf dem CppUnit compiliert wurde !
Ich emfehle deshalb jedem Studenten sich CppUnit für seinen Heim-PC nach obiger Anleitung zu compilieren und für seinen spezifischen Pfad bereitzuhalten.
根据修改能够顺利通过编译
- cppunit编译,不知道为啥,好多人都报错
- 好多人可能不知道的事情
- 不知道为啥 就是想写句话.....
- cairo 编译成功命令ubuntu, 但生成png图片没出效果,不知道为啥,先能编译吧
- 终于知道为啥光流法track失败时不l…
- 此刻心里不知道为啥静不下来
- 一直都知道string不用new,但是不知道是为啥
- CppUnit编译in vs2008
- 使用cppunit编译单元测试
- CppUnit编译in vs2008
- CPPUnit下载编译
- 怎样用VS2010编译CppUnit
- 编译 安装 CppUnit
- 大家帮忙看下,好多错不知道怎么改,谢谢了
- 不知道为啥黑站这么有手感哈。可能是现在的学校网络安全都不咋滴
- 南阳理工:矩形的个数(目前有错误,不知道为啥)
- 汽车油箱盖为啥有左右之分?你绝对不知道!
- spring依赖注入失效极度无语的,不知道为啥的
- uclinux下gprs拨号成功--晚风拂柳
- Tomcat 启动两次的问题
- .NET关于同步、异步及Socket
- 代码行统计工具V1.5
- 辞职信
- cppunit编译,不知道为啥,好多人都报错
- 兰董猛烈抨击80、90的儿子们,都歇菜吧!
- .NET中Socket编程的简单示例
- .NET关于操作进程的简单示例
- WINE中文字体方块的解决
- Ext js开发点滴
- java访问Oracle存储过程(转)
- 对一个数进行遍例,循环祛除间隔的数据,留下的值是多少输出?
- 韩庚超级详细资料大全