c++在第一个.h头文件中的一个函数中声明一个extern float变量,然后在另一个cpp文件的函数中定义该变量,最后在main.cpp主函数cout该变量,代码怎么实现,以及最后怎么用cmake编译成文件
时间: 2024-03-03 11:53:52 浏览: 21
首先,在第一个头文件中声明一个extern float变量,如下所示:
```
// myheader.h
extern float myFloat;
void myFunction();
```
然后,在第二个cpp文件中定义该变量,如下所示:
```
// mysource.cpp
#include "myheader.h"
float myFloat = 3.14;
void myFunction()
{
// do something
}
```
最后,在main.cpp主函数中使用该变量,如下所示:
```
// main.cpp
#include "myheader.h"
#include <iostream>
int main()
{
myFunction();
std::cout << "myFloat = " << myFloat << std::endl;
return 0;
}
```
在使用CMake编译时,需要编写CMakeLists.txt文件,如下所示:
```
cmake_minimum_required(VERSION 3.10)
project(myproject)
add_library(mylib mysource.cpp)
target_include_directories(mylib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib)
```
这里使用add_library添加静态库mylib,其中包含了mysource.cpp文件,使用target_include_directories将当前目录添加到mylib的include路径中。然后,使用add_executable添加可执行文件myexe,使用target_link_libraries将mylib链接到myexe中。最后,使用cmake命令生成Makefile并编译即可。