我保存了我的Java源文件,将其编码类型指定为UTF-8(使用记事本,默认情况下,记事本的编码类型为ANSI),然后我尝试使用以下命令编译它:
javac -encoding "UTF-8" One.java
Run Code Online (Sandbox Code Playgroud)
但它给出了一条错误消息"
One.java:1: illegal character: \65279
?public class One {
^
1 error
Run Code Online (Sandbox Code Playgroud)
还有其他方法,我可以编译吗?
这是来源:
public class One {
public static void main( String[] args ){
System.out.println("HI");
}
}
Run Code Online (Sandbox Code Playgroud) 我在这里完全失败了.我有一个名为LenseProject的外部硬盘上的项目.里面LenseProject,我有.idea,lib,Natives和SRC文件夹.我还有一些用于阅读的文本文件.
当我昨晚离开工作时,这一切都很好.今天早上来,我遇到了:
Exception in thread "main" java.lang.ClassNotFoundException: QuadTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:188)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)
Run Code Online (Sandbox Code Playgroud)
QuadTest是主要类.
我认为可能有用的信息:
如果我注释掉导入,我会收到相应的错误消息.(找不到符号等).
我有9个依赖项,位于lib\lwjgl-2.9.0\jar中,它们在Project Structure - > Libraries中设置.
该模块将LenseProject作为内容根,将SRC作为源文件夹.
语言水平是7.0
我将依赖项设置为在项目结构 - >模块 - >依赖项中导出.
在编译器输出中,我将它设置为使用模块编译输出路径,因为继承项目编译输出路径给了我"无法启动编译:未为模块指定输出路径"LenseProject".在Configure Project中指定输出路径.
我有VM选项-Djava.library.path=Natives.
我可以通过命令提示符编译并运行程序没问题.
今天早上我启动时,我错过了配置选项.我不得不再次设置SDK和库.
我试图找出编译器为什么有这个功能的问题.它给了我"并非所有代码路径返回值"错误,但是我看不到控制流将传递给if( a )表达式而a不是真的情况(所以这if( a )是多余的,但编译器似乎没有认识到这一点) .
public static Boolean Foo(Boolean x)
{
Boolean a = false;
if( x )
{
a = true;
}
else
{
try
{
SomethingThatMightThrow();
Assert.IsFalse( a );
return a;
}
catch(Exception)
{
a = true;
}
}
if( a )
{
return x;
}
}
Run Code Online (Sandbox Code Playgroud)
立即解决方法是简单地立即删除if( a )guard语句return x- 但是为什么编译器会抱怨,即使它应该能够静态地证明所有可能的代码路径都会出现return声明?至关重要的是,没有循环,这通常是它无法证明的主要原因return.
我正在使用VS2015 Update 3.
当我尝试交叉编译一些 Rust 时,出现此错误;有谁知道我应该做什么?
当我运行 Cargo build --target aarch64 时会发生这种情况,我得到:
Compiling glib-sys v0.10.1
error: failed to run custom build command for `glib-sys v0.10.1`
...
pkg-config has not been configured to support cross-compilation.
Install a sysroot for the target platform and configure it via
PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_PATH, or install a
cross-compiling wrapper for pkg-config and set it via
PKG_CONFIG environment variable.
Run Code Online (Sandbox Code Playgroud)
我可能在一年前就问过这个问题,但无论如何我找不到任何答案。我尝试在 Cargo.toml 中添加各种行,但似乎没有任何帮助。
Cargo.toml 的相关部分有:
[target.'cfg(target_os = "android")'.dependencies]
cairo = "0.0.4"
freetype = "0.7.0"
glib = "0.14.2"
openssl = "0.10.36"
openssl-sys …Run Code Online (Sandbox Code Playgroud) 当他们说C++的错误消息在模板方面非常糟糕时,我真的开始明白人们的意思了.我已经看到了一些非常长的错误,就像一个与原型不匹配的函数一样简单.
有没有解决这些错误的技巧?
编辑:我正在使用gcc和MSVC.它们似乎都非常可怕.
我目前正在为我们公司的其他应用程序进行服务器控制,以便与WCF服务进行交互.每次我更改代码更改并重新编译控件时,我都会将AsseemblyInfo.cs中的AssemblyVerison和AssemblyFileVersion类增加一个.例如,我的最新版本从1.0.07.0到1.0.08.0.
当使用应用程序通过复制bin目录中的最新文件并尝试编译来更新文件时,它们会收到以下错误:
命名空间"MyNamespace"中不存在类型或命名空间名称"MyControl"(您是否缺少程序集引用?)
为了解决此错误,他们必须删除当前引用并重新添加引用.
有没有办法更新服务器控件而无需删除和重新添加引用?
我并不强烈命名服务器控件.
@JPunyon - 你的意思是让消费者应用程序将服务器控制项目添加到他们的解决方案中吗?
我正在尝试Bjarne Stroustrup的C++书籍第三版.在实现一个相当简单的函数时,我得到以下编译时错误:
error: ISO C++ forbids comparison between pointer and integer
Run Code Online (Sandbox Code Playgroud)
可能是什么导致了这个?这是代码.错误在于if:
#include <iostream>
#include <string>
using namespace std;
bool accept()
{
cout << "Do you want to proceed (y or n)?\n";
char answer;
cin >> answer;
if (answer == "y") return true;
return false;
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我已经创建了一个C++类(myPixmap)来封装OpenGL GLUT工具包执行的工作.display()该类的成员函数包含设置GLUT所需的大部分代码.
void myPixmap::display()
{
// open an OpenGL window if it hasn't already been opened
if (!openedWindow)
{
// command-line arguments to appease glut
char *argv[] = {"myPixmap"};
int argc = 1;
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(640, 480);
glutInitWindowPosition(30, 30);
glutCreateWindow("Experiment");
glutDisplayFunc(draw);
glClearColor(0.9f, 0.9f, 0.9f, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glutMainLoop();
openedWindow = true;
}
}
Run Code Online (Sandbox Code Playgroud)
传递给的显示函数glutDisplayFunc()是该类的另一个成员函数:
void myPixmap::draw(void)
{
glDrawPixels( m,n,GL_RGB,GL_UNSIGNED_BYTE, pixel );
}
Run Code Online (Sandbox Code Playgroud)
但是,Mac OS X 10.6.4上的gcc 4.2.1拒绝编译此代码,声称:
argument of type 'void (myPixmap::)()' …
如果我宣布这样的枚举......
public enum MyEnum : byte {
Val1,
Val2
}
Run Code Online (Sandbox Code Playgroud)
......它正在发挥作用.
如果我宣布这样的枚举......
public enum MyEnum : System.Byte {
Val1,
Val2
}
Run Code Online (Sandbox Code Playgroud)
......它不起作用.编译抛出:
错误CS1008:键入byte,sbyte,short,ushort,int,uint,long或ulong expected
由于byte是实际类型的别名System.Byte,为什么我不能使用第二个声明?
我从GitHub下载了一个项目,然后pod下面的文件,其中一些是由OBJ-C编写的,我使用了一个桥头.
pod ‘SnapKit’
pod ‘MJRefresh’
pod ‘Alamofire’
pod ‘Kingfisher’
pod ‘MBProgressHUD’
pod ‘pop’
pod ‘EVReflection’
pod ‘StreamingKit’
pod ‘iCarousel’
pod ‘ReflectionView’
Run Code Online (Sandbox Code Playgroud)
当我使用Xcode 9.0 beta 2运行项目时,遗憾的是错误日志如下:
错误:未能发出预编译头'/var/folders/kd/4gh0_kxx3jx4thjb_sssmmcw0000gn/T/EvoRadio-Bridging-Header-97bd5f.pch'用于桥接标题'/ Users/ringo/Downloads/EvoRadio-master/EvoRadio/Resources/EvoRadio-桥接-Header.h"
我用google搜索,但没有这样的问题.错误意味着它需要一个PCH文件?这是我的.pch标题配置:
它解决不了.
怎么做?
compiler-errors ×10
c++ ×3
c# ×2
java ×2
assemblies ×1
class ×1
ios ×1
javac ×1
opengl ×1
pkg-config ×1
reference ×1
rust ×1
swift ×1
templates ×1
unicode ×1