我想在我的测试应用程序中使用极坐标图表.我有一个包含几列的数据表,其中名称为"X"的列应提供x值成员,其他列应为y值成员.我在MSDN上找到了一个教程,但它并没有真正起作用,因为该行
chart1.DataBindTable(dt, "X");
Run Code Online (Sandbox Code Playgroud)
不会编译.欢迎任何提示,谢谢.
这是代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
namespace PolarChartTest_01
{
public partial class Form1 : Form
{
public DataTable dt;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
dt.Rows.Clear();
dt.Columns.Clear();
chart1.Series.Clear();
dt.Columns.Add("X", typeof(int));
dt.Columns.Add("Y", typeof(int));
for (int j = 0; j < 7; j++)
{
DataRow dr = dt.NewRow();
dr["X"] = j * 45;
dr["Y"] = j;
dt.Rows.Add(dr);
}
chart1.DataBindTable(dt, …Run Code Online (Sandbox Code Playgroud) 我收到编译器的错误消息指示(它是一个嵌入式C编译器):
错误[Pe020]:myflash.h中未定义标识符"MPTR"(参见下面的代码)
我正在使用名为MPTR的typedeffed结构.代码是:
//datahandler.h
#ifndef DATAHANDLER_H
#define DATAHANDLER_H
#include "enet_uip_ap01.h"
typedef struct _MPTR {
unsigned int flash_start;
unsigned int flash_pagestart;
unsigned short rom_start;
unsigned short rom_nextrecord;
unsigned short rom_lastrecord;
} MPTR;
...etc
Run Code Online (Sandbox Code Playgroud)
我想在另一个头中使用MPTR参数转发声明一个函数:
//myflash.h
#ifndef MYFLASH_H
#define MYFLASH_H
#include "enet_uip_ap01.h"
unsigned char FLASH_StorePage(MPTR *mptr, unsigned short addr, unsigned int flag);
Run Code Online (Sandbox Code Playgroud)
两个标题:"datahandler.h"和"myflash.h"都包含在"enet_uip_ap01.h"中.但是,上面的函数声明会引发编译错误.
最有可能的是它是一个简单的基本C语言问题,我不知道这是一种耻辱,但我没有想法如何解决它.如果有人能指出我的错误,我会很高兴.谢谢!
编辑:在这里放置其他代码:
//enet_uip_ap01.h
#ifndef ENET_UIP_AP01_H
#define ENET_UIP_AP01_H
//....other not relevant includes here...
#include "datahandler.h"
#include "myflash.h"
#endif
Run Code Online (Sandbox Code Playgroud) 我有一个TIVA-C微控制器项目,该项目使用arm-none-eabi-gcc进行了编译,尽管我添加了string.h,但是却收到“未定义对strcmp的引用”链接器错误。我正在使用预编译的工具链:gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2从这里:https ://launchpad.net/gcc-arm-embedded/+download 。我的makefile切换:
# define flags
CFLAGS = -g -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=softfp
CFLAGS +=-Os -ffunction-sections -fdata-sections -MD -std=c99 -Wall
CFLAGS += -pedantic -DPART_$(MCU) -c -I$(TIVAWARE_PATH)
CFLAGS += -DTARGET_IS_BLIZZARD_RA1
LDFLAGS = -T $(LD_SCRIPT) --entry ResetISR --gc-sections
Run Code Online (Sandbox Code Playgroud)
还有其他人也有同样的问题,但是他们在LDFLAGS中打开了-nostd,而我显然没有。我现在没主意了,所以任何提示都会很棒。