没有可用于 Eclipse 中 c++ "main()"错误的源
No source available for "main()" error for c++ in Eclipse
我知道很多人以前问过这个问题,但我无法解决它。我想在 eclipse 中调试一个生成文件项目,但我不能。我只是在学习 c++,不知道如何编写 makefile,但我的老师给了我一个让我使用,我在下面发布了它。如何修复此错误?
另外,如果它对你们有任何帮助,我只想调试 DijkstraTest.cpp main 函数,而不是任何其他函数。
# first name a variable objects for all object files
# FOR strauss
#CXX = CC
objectsqueue = LinkedList.o
objectstestqueue = QueueTests.o
objectsheap = BinaryHeap.o
objectstestheap = BinaryHeapTest.o
objectsdijkstra = CSV.o Network.o Dijkstra.o
objectstestdijkstra = DijkstraTest.o
# name a variable sources for all source files
sourcesqueue = LinkedList.cpp
sourcestestqueue = QueueTests.cpp
sourcesheap = BinaryHeap.cpp
sourcestestheap = BinaryHeapTest.cpp
sourcesdijkstra = CSV.cpp Network.cpp Dijkstra.cpp
sourcestestdijkstra = DijkstraTest.cpp
# now make default target all exe files
all: testqueue testheap testdijkstra
# list the dependencies for object files - those header files which help build objects
LinkedList.cpp: Collection.h Stack.h Queue.h
QueueTests.o: QueueTests.cpp LinkedList.cpp
BinaryHeap.o: BinaryHeap.h
BinaryHeapTest.o: BinaryHeap.h
Dijkstra.o: CSV.h Dijkstra.h Network.h BinaryHeap.h
# how to build all object files from all dependent source files
$(objectsqueue): $(sourcesqueue)
$(CXX) -c $(sourcesqueue) $(INCLUDES)
$(objectstestqueue): $(sourcestestqueue)
$(CXX) -c $(sourcestestqueue) $(INCLUDES)
$(objectsheap): $(sourcesheap)
$(CXX) -c $(sourcesheap) $(INCLUDES)
$(objectstestheap): $(sourcestestheap)
$(CXX) -c $(sourcestestheap) $(INCLUDES)
$(objectsdijkstra): $(sourcesdijkstra)
$(CXX) -c $(sourcesdijkstra) $(INCLUDES)
$(objectstestdijkstra): $(sourcestestdijkstra)
$(CXX) -c $(sourcestestdijkstra) $(INCLUDES)
clean:
rm -f *.o
rm -f *.exe
testqueue: $(objectsqueue) $(objectstestqueue)
$(CXX) -o QueueTests.exe $(objectsqueue) $(objectstestqueue)
testheap: $(objectsheap) $(objectstestheap)
$(CXX) -o BinaryHeapTest.exe $(objectsheap) $(objectstestheap)
testdijkstra: $(objectsheap) $(objectsdijkstra) $(objectstestdijkstra)
$(CXX) -o DijkstraTest.exe $(objectsheap) $(objectsdijkstra) $(objectstestdijkstra)
为了能够调试应用程序,您需要使用 -g
(debug) 标志编译它:
CXXFLAGS=-g
$(objectsqueue): $(sourcesqueue)
$(CXX) $(CXXFLAGS) -c $(sourcesqueue) $(INCLUDES)
...
testqueue: $(objectsqueue) $(objectstestqueue)
$(CXX) $(CXXFLAGS) -o QueueTests.exe $(objectsqueue) $(objectstestqueue)
....
您需要对所有编译规则使用此标志。
相关文章:
- 代码在main()中运行,但在函数中出现错误
- 我的 int main() 中出现堆栈溢出错误
- 为什么在我的 main 函数中声明整数后我的整数数组中会出现错误?
- 我在主函数的左括号上不断收到错误,消息为obj\Debug\main.o||在函数"ZN11linked_listC1Ev"中:|
- 尝试更改 main 函数内的全局变量值时出现编译错误 C++.
- C++生成文件错误"implicit entry/start for main executable"
- C++/生成文件错误:未定义对"main"的引用
- main.cpp(11):错误 C2059:语法错误:"字符串"
- 外部函数在 main() 上调用时返回分段错误 11.(C++)
- 为什么在main()之前断言会导致语法错误"error: expected ')' before numeric constant"?
- C++错误:在类中取消对main的定义引用
- Pthread段错误,使用指向main中变量的指针
- 为什么我在执行main之前就出现分段错误(核心转储)
- 错误 C2084:函数"int main(void)"已具有主体
- 如何更改路径以修复错误"./main:加载共享库 libmkl_core.so 时出错?
- 编译mbed操作系统程序时"multiple definition of `main'"错误
- dev -c - [构建错误] [main.o]错误2816
- 没有可用于 Eclipse 中 c++ "main()"错误的源
- 编译器构造-Dev-C++-[Build Error][main.o]错误1
- 对 crt1.o 函数_start中'main'错误的未定义引用