我正在开发一个包含大约30个源文件(.c)的C项目.我正在使用GNU工具在Ubuntu上运行的32位微控制器(i.MX515)上构建这个项目.
编译阶段成功完成,但是当链接过程开始时,我收到此错误(对于问题结尾处的完整错误):
In function `_start': init.c:(.text+0x30): undefined reference to `main'
Run Code Online (Sandbox Code Playgroud)
我有main()一个简单的功能printf().
我的Makefile链接,看起来像这样.
final: $(OBJDIR)/main.o $(OBJDIR)/TchClaKnn_BuildKdtreeInt.o $(OBJDIR)/TchClaKnn_FreeKdtreeInt.o.... (Go upto 30 files like this)
@echo ".Linking"
$(CC) $(LFLAGS) -o $(OBJDIR)/main.o $(OBJDIR)/TchClaKnn_BuildKdtreeInt.o $(OBJDIR)/TchClaKnn_FreeKdtreeInt.o..... (Go upto 30 files like this)
Run Code Online (Sandbox Code Playgroud)
救命!!!
问候
维克拉姆
完成链接错误
/usr/lib/gcc/arm-linux-gnueabi/4.3.3/../../../crt1.o: In function `_start':
init.c:(.text+0x30): undefined reference to `main'
collect2: ld returned 1 exit status
make[1]: *** [final] Error 1
make[1]: Leaving directory `/home/ubuntu/Documents/Project/IMX_Project_v1'
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud) 我正在使用特征库,它承诺矩阵运算的矢量化.我不知道如何使用Eigen中给出的文件并编写一个makefile.使用Eigen的源文件包括下面列出的文件,这些文件甚至不是头文件(它们只是一些文本文件) -
<Eigen/Core>
<Eigen/Dense>
<Eigen/Eigen>
Run Code Online (Sandbox Code Playgroud)
等等.在Eigen的网页上,有人提到,为了使用它的功能,我不需要构建项目,那么如何在makefile中包含这些文件来构建我的项目.我的示例main.c文件看起来像这样.任何人都可以告诉我如何为这个文件编写一个makefile makefile -
#include <Eigen/Core>
// import most common Eigen types
USING_PART_OF_NAMESPACE_EIGEN
int main(int, char *[])
{
Matrix3f m3;
m3 << 1, 2, 3, 4, 5, 6, 7, 8, 9;
Matrix4f m4 = Matrix4f::Identity();
Vector4i v4(1, 2, 3, 4);
std::cout << "m3\n" << m3 << "\nm4:\n"
<< m4 << "\nv4:\n" << v4 << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
救命!
我正在编写一个小型应用程序,希望从Chrome浏览器中获取URL。
为了首先检查Chrome浏览器是否打开,我使用以下代码:
IntPtr WindowTitleTextPtr = GetForegroundWindow();
StringBuilder WindowTitleText = new StringBuilder();
GetWindowText(WindowTitleTextPtr, WindowTitleText, 256); // Problem
...
Run Code Online (Sandbox Code Playgroud)
我正在使用GetWindowText()函数获取Windows标题文本,但在那里我遇到了问题。
如果Chrome窗口没有URL,只是一个New Tab,那么我没有问题,WindowTitleText.ToString()等于New Tab-Google Chrome。
但是,如果我打开网页,在这种情况下,URL填充了一些URL,则在 GetWindowText()行中我得到:
vs32host.exe已停止工作消息窗口,要求我执行以下操作:
这是怎么回事?
救命!
我刚刚在Windows上的Virtualbox上安装了Ubuntu.
我正在尝试安装cmake,cmake网站上的安装指南要求我执行以下步骤
./bootstrap
make
make install
Run Code Online (Sandbox Code Playgroud)
但是,当我刚刚执行./bootstrap命令时,我得到以下错误列表,任何人都可以建议我如何在我的系统上设置C++编译器.因为我刚刚安装了Ubuntu,目前可能没有设置C++.
请帮助.
CMake 2.8.1, Copyright 2000-2009 Kitware, Inc. C compiler on this system is: cc Error when bootstrapping CMake: Cannot find appropriate C++ compiler on this system. Please specify one using environment variable CXX. See cmake_bootstrap.log for compilers attempted. Log of errors: /home/vikboy/Downloads/cmake-2.8.1/Bootstrap.cmk/cmake_bootstrap.log
我曾经从一个ADC发送了5秒的数据,这个数据是在125 SPS发送样本,这转换为大小为5*125的数组.在我的代码中,这看起来像:
#define SPS 125
#define TIME 5
char Samples[SPS * TIME];
Run Code Online (Sandbox Code Playgroud)
现在,我想捕获2.5秒的数据并将ADC采样率提高到250 SPS.在代码中它看起来像:
#define SPS 250
#define TIME 2.5
char Samples[SPS * TIME];
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做,编译器会抛出一个错误:
#901 expression must have integral or enum type main.cpp line 59 C/C++ Problem
Run Code Online (Sandbox Code Playgroud)
我能够理解它的含义.
但是,克服这种情况的最佳方法是保持SPS和TIME定义的可用性.我的意思是我已经在整个项目的其他几个地方使用它们,我希望继续使用它们.
请帮忙!
我正在编写一个使用 Tkinter 的 python 应用程序,它的画布用于从调色板绘制图表。图表可能会变得非常大,我目前正在使用鼠标按钮 (ButtonPress-1) 按住并拖动整个画布。
我很难理解如何仅使用箭头键(键盘向上、向下、向左和向右)来实现整个画布的滚动。
帮助!
在图像处理应用程序中什么是实时的?33 fps是实时的吗?是20 fps实时?如果33和20 fps被认为是实时的,那么1或2 fps也是实时的吗?
任何人都可以投入一些光.
嗨,我必须将结构变量的内容写入文件.我有一个工作程序,但输出看起来扭曲,你可以理解当你看输出.代码的简单版本如下,输出如下.
码:
#include<stdio.h>
#include <stdlib.h>
struct mystruct
{
char xx[20];
char yy[20];
int zz;
};
void filewrite(struct mystruct *myvar)
{
FILE *f;
f = fopen("trace.bin","wb");
if (f == NULL)
{
printf("\nUnable to create the file");
exit(0);
}
fwrite(myvar, sizeof(struct mystruct), 1, f);
fclose(f);
}
void main()
{
struct mystruct myvar = {"Rambo 1", "Rambo 2", 1234};
filewrite(&myvar);
}
Run Code Online (Sandbox Code Playgroud)
输出:
(1.整数'1234'在哪里?我需要完整.)
(2.为什么会出现一些随机字符?)
trace.bin
Rambo 1Rambo 2Ò
Run Code Online (Sandbox Code Playgroud)